我在drawable文件夹中有一个图像image.png
(不是任何其他drawable-hdpi等文件夹)。
此图片的尺寸为50x50
。但是,当我从我的应用程序加载它时,如下所示:
BitmapFactory.decodeResource(getResources(), R.drawable.image)
然后我使用getWidth()
和getHeight()
检查尺寸,我得到150x150
。
任何人都可以解释如何计算这个150x150
加载的大小? (不是以编程方式,我只是想知道是否有一个公式我可以用来判断图像是否会加载到150x150
)
另外,这是150x150
像素吗?
谢谢!
答案 0 :(得分:1)
drawable-nodpi
drawable
中,则与drawable-mdpi
中的图片相同,作为第一个Android设备,T-Mobile G1是正常尺寸和mdpi(中等) )密度:)没有神奇的公式:
ldpi(低)~120dpi
mdpi(中)~160dpi
hdpi(高)~240dpi
xhdpi(超高)~320dpi
xxhdpi(超高)~480dpi
xxxhdpi(extra-extra-extra-high)~640dpi
也就是说,在你的情况下,可能在xxhdpi设备上开发,480/160 * 50 = 150,记住android设计为在所有屏幕上可视化所有相同大小的ui元素,因此密度越高,更大的缩放图像。
答案 1 :(得分:0)
如果您有Drawable
图片,并且想要计算已加载图片的尺寸
Drawable d = getResources().getDrawable(R.drawable.image);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();
Android文档说:
public int getIntrinsicHeight()
返回底层可绘制对象的内在高度。返回 如果它没有固有高度,则为-1,例如纯色。
public int getIntrinsicWidth()
返回底层可绘制对象的固有宽度。返回 如果它没有固有宽度,则为-1,例如纯色。
答案 2 :(得分:0)