假设我的cat.png
文件drawable-hdpi
夹中有一个,尺寸为 100*100 像素。现在,如果我使用大小设置为“wrap_content”的 ImageView 加载此图片:
cat_image.setImageResource(R.drawable.cat);
在不调用“getHeight()”的情况下如何知道图像视图的大小(以像素为单位)?图像视图的大小与数字“100”之间肯定有关系,但我尝试将“100”从DP转换为PX,从PX转换为DP等,但没有成功。
假设我的cat.png
文件drawable-hdpi
夹中有一个,尺寸为 100*100 像素。现在,如果我使用大小设置为“wrap_content”的 ImageView 加载此图片:
cat_image.setImageResource(R.drawable.cat);
在不调用“getHeight()”的情况下如何知道图像视图的大小(以像素为单位)?图像视图的大小与数字“100”之间肯定有关系,但我尝试将“100”从DP转换为PX,从PX转换为DP等,但没有成功。
如果图像为 100px,则 mdpi 中的图像为 100dp。
然后是 100dp 的意思是:它在 mdpi 上为 100px,在 hdpi 上为 150px,在 xhdpi 上为 200px
所以android会尝试找到最适合使用的资源。对于drawables,它还会自动缩放图像,因此如果您将其设置为100px并放置在mdpi中,它将用于hdpi屏幕,但将其设置为150px。不建议这样做,您应该始终尝试将所有资源放入所有文件夹 (mdpi hdpi xhdpi)。
有一个helper方法可以帮助你通过代码将100dp转换成像素。