屏幕上图像资源与其结果大小之间的关系

时间:2013-10-04 19:52:29

标签: android android-image

我的cat.png文件夹中有一个drawable-hdpi,尺寸为100 * 100像素。现在,如果我使用ImageView加载此图片,其大小设置为“wrap_content”:

cat_image.setImageResource(R.drawable.cat);

如何在不调用“getHeight()”的情况下知道图像视图的大小(以像素为单位)?图像视图的大小与数字“100”之间必然存在关系,但我尝试将“100”从DP转换为PX,从PX转换为DP等,但没有成功。

1 个答案:

答案 0 :(得分:1)

如果图像为100px,则mdpi为100dp。

然后100dp的意思是: 它在mdpi上的100px 它的150px on hdpi 它在xhdpi上的200px

所以android会尝试找到最适合使用的资源。对于drawables它也会自动缩放图像,这样如果你将它设置为100px并放置在mdpi中,它将用于hdpi屏幕,但使其为150px。建议不要这样做,您应该始终尝试将所有资源放入所有文件夹(mdpi hdpi xhdpi)。

有一个辅助方法可以帮助您通过代码将100dp转换为像素。

Converting pixels to dp