首先,我知道很多人都问了同样的问题,但是这个问题几乎相同,但我还有更多问题。
我的图像为48px x 48px,所以如果我在ImageView中设置此图像
layout_width="wrap_content"
layout_height="wrap_content"
然后图像看起来更大,但如果我使用以下固定大小,它会变小
layout_width="48dp"
layout_height="48dp"
我认为它现在正好显示(不是像素化的?)48dp,但是如果我使用wrap_content它会变大?如果通过wrap_content的图像大小是正确的,那么使用dp是什么意思(如果它使图像变小)?
答案 0 :(得分:6)
48dp
(或48dip
)代表“密度独立像素”。这意味着无论屏幕密度和大小如何,Android屏幕上显示的图像的物理尺寸都应相同。为了支持这一点,Android会根据屏幕密度调整显示的实际像素大小。您对不同尺寸的调查结果因设备而异。
dp单位到屏幕像素的转换为:pixels = dps * (density / 160)
。例如,在240 dpi屏幕上,1dp
将等于1.5个物理像素。强烈建议使用dp单位来定义应用程序的UI,以确保在不同屏幕上正确显示UI。
答案 1 :(得分:3)
这可能是因为您没有明确设置scaleType。在XML中设置scaleType如下,你应该没问题:
android:scaleType="center"
答案 2 :(得分:1)
试试这个
<ImageView
android:id="@+id/seprator2"
layout_width="48dp"
layout_height="48dp"
android:scaleType="fitXY"
android:src="@drawable/your_image" />
如果它仍然显示小,那么你的图像必须包含围绕它的alpha。
答案 3 :(得分:0)
如果图像大于视图,则可以使用以下方法对其进行缩放:
android:scaleType="center"