Android bitmap.getWidth/getHeight返回不同的值
我有一个48x48尺寸的图标。我把它放在Android bitmap.getWidth/getHeight返回不同的值,android,drawable,Android,Drawable,我有一个48x48尺寸的图标。我把它放在可绘制mdpi文件夹下 然后我试着得到它的尺寸: BitmapDrawable bd = (BitmapDrawable) context.getResources().getDrawable(R.drawable.ic); Bitmap bm = bd.getBitmap(); Log.d("render", "icon height:" + bm.getHeight()); canvas.drawBitmap(bd.getBitmap(), 0, 0,
可绘制mdpi
文件夹下
然后我试着得到它的尺寸:
BitmapDrawable bd = (BitmapDrawable) context.getResources().getDrawable(R.drawable.ic);
Bitmap bm = bd.getBitmap();
Log.d("render", "icon height:" + bm.getHeight());
canvas.drawBitmap(bd.getBitmap(), 0, 0, p);
它从logcat打印:图标高度:72
然后我将图标放在可绘制hdpi下,然后得到:图标高度:48
然后我把图标放在可绘制ldpi
下,然后我得到:图标高度:96
发生了什么事?根据图像大小使用不同的设备屏幕密度
如果您必须在所有设备上使用一个图像,则制作可绘制文件夹,并放置图像
这不是一个好办法,但对于简单的图像缩放问题,这是一个黑客解决方案。但是图标大小是48x48,通过android开发者,我应该将图标放在
可绘制mdpi
下。为什么我要把它放在可绘制hdpi
下?不要这么直截了当。通读答案以了解发生了什么。你还需要通读那些你似乎还没有完全理解的链接文档。Android开发者网站当然没有说总是把它放在drawable mdpi
中。肯定与另一个问题中描述的问题相同好的,我会再看一遍。