我在res / drawable文件夹中有一个1280x720px图像(不是drawable-hdpi,drawable-ldpi等文件夹)。但在运行时,大小为2560x1440px。这怎么可能? android会调整drawable文件夹中的图像吗?
以下是代码:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.start_image_left);
int h = bitmap.getHeight(), w = bitmap.getWidth();
我正在摩托罗拉Moto G gen2上进行测试。
答案 0 :(得分:9)
您根本没有理由将位图放入根drawable
目录中。它通常只应用于XML drawable。 drawable
目录中的位图基本上将被处理为drawable-mdpi
(按比例缩放其他密度)。
如果您的目标是在所有密度上使用相同像素大小的位图图像,则需要将其放在drawable-nodpi
中。这将导致它不缩放。
答案 1 :(得分:0)
您说得对,Android会根据当前的设备配置自动缩放您的图片。但是,如果您不想要这种行为,可以创建位图资源文件,放入drawable
文件夹并将其指向您想要使用的drawable
<bitmap xmlns:android="http://schemas.android.com/apk/res/android
android:src="@drawable/yourDrawableHere"
android:gravity="center" />
通过指定中心重力,无论如何,android都不会缩放你的图像。
要使用此位图资源文件,请在代码中按此检索
Drawable drawable = getResources().getDrawable(R.drawable.yourBitmaoResourceFileName);