ImageView,为什么不同大小?

问题描述:

首先,我知道很多人都问过同样的东西,但这个东西差不多,但我还有几个问题。ImageView,为什么不同大小?

我有一个48像素X 48像素的图像,所以如果我设置在ImageView的这一形象与

layout_width="wrap_content" 
layout_height="wrap_content" 

然后图像看起来大,但如果我用下面固定的大小,它变得越来越小

layout_width="48dp" 
layout_height="48dp" 

我认为它现在显示正确(不是像素化?)与48dp,但为什么它变得更大,如果我使用wrap_content?如果通过wrap_content的图像大小是正确的,那么使用dp的重点是什么(如果它使图像变小)?

+0

你如何将图像设置为ImageView的? – Triode 2013-03-19 14:03:31

+2

'dp'是不一样的'由 – 2013-03-19 14:04:54

+0

您可能设置的背景,可能是它得到拉伸 – Triode 2013-03-19 14:07:40

试试这个

<ImageView 
    android:id="@+id/seprator2" 
    layout_width="48dp" 
    layout_height="48dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/your_image" /> 

如果它仍然可见小那么你的图片必须包含周围阿尔法。

这可能是因为您没有明确设置scaleType。设置你的scaleType在XML如下,你应该罚款:

android:scaleType="center" 
+0

的原因图像源的方式px'是的,它需要scaleType。我使用scaleType =“fitXY”。 感谢 – xmen 2013-03-19 14:13:51

+0

如果我的回答帮你,可随时将其标记为使用它旁边的空复选标记接受。 – Shade 2013-03-19 14:14:37

+0

我没有投票:) – xmen 2013-03-19 14:17:37

48dp(或48dip)代表 “密度独立像素”。这意味着无论屏幕密度和大小如何,Android屏幕上显示的图像的物理尺寸都应该相同。为了支持这一点,Android会根据屏幕密度调整显示的实际像素大小。您的不同尺寸的发现会因设备而异。

的的dp单位来筛选像素转换是:pixels = dps * (density/160)。例如,在240 dpi屏幕上,1dp将等于1.5个物理像素。强烈建议使用dp单位来定义应用程序的用户界面,以此来确保在不同屏幕上正确显示您的用户界面。

如果图像超过视图大小,那么你可以使用它的规模:

android:scaleType="center"