我不希望Android自动调整我的位图大小

时间:2011-07-24 06:45:46

标签: android bitmap resize drawable

我在res / drawable中放了一些位图。

在我通过BitmapFactory.decodeResource()加载位图后,我发现它们会根据密度自动调整大小。

这不是我想要的。 我希望它们保持原始尺寸(像素大小)。

我该怎么办?

4 个答案:

答案 0 :(得分:18)

正如在另一个问题中所说,使用drawable-nodpi文件夹会阻止android调整图片大小。

此外,如果您希望为hdpi和ldpi格式提供多个版本的图像,但不希望系统调整它们的大小(例如,为了保持两个分辨率的强大功能),则可以使用以下代码加载你的bitmpap:

// ask the bitmap factory not to scale the loaded bitmaps
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = false;

// load the bitmap
Bitmap bitmap = BitmapFactory.decodeResource(ctx.getResources(), R.id.mybmp, opts);

答案 1 :(得分:5)

http://developer.android.com/guide/practices/screens_support.html

如果使用nodpi后缀,系统将不会自动缩放图片。希望它有所帮助!

答案 2 :(得分:1)

如果您在hdpi,ldpi和mdpi中保留了单独的图像,并且您正在使用资源来访问这些图像,那么您无法做太多。

如果您只想使用一个图像,请在mdpi文件夹中保留一个图像,然后删除其他图像。

答案 3 :(得分:-1)

将图像放在名为“drawable”的文件夹中(不包含ldpi,mdpi,hdpi等。后缀)。您可能需要自己创建它(例如Eclipse,不会自动创建它)。

之后,从其他drawable-something文件夹中删除drawable资源。