Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android bitmap.getWidth/getHeight返回不同的值_Android_Drawable - Fatal编程技术网

Android bitmap.getWidth/getHeight返回不同的值

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,

我有一个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, p);
它从logcat打印:
图标高度:72

然后我将图标放在可绘制hdpi下,然后得到:
图标高度:48

然后我把图标放在
可绘制ldpi
下,然后我得到:
图标高度:96

发生了什么事?

根据图像大小使用不同的设备屏幕密度

如果您必须在所有设备上使用一个图像,则制作可绘制文件夹,并放置图像


这不是一个好办法,但对于简单的图像缩放问题,这是一个黑客解决方案。

但是图标大小是48x48,通过android开发者,我应该将图标放在
可绘制mdpi
下。为什么我要把它放在
可绘制hdpi
下?不要这么直截了当。通读答案以了解发生了什么。你还需要通读那些你似乎还没有完全理解的链接文档。Android开发者网站当然没有说总是把它放在
drawable mdpi
中。肯定与另一个问题中描述的问题相同好的,我会再看一遍。