Android 4(ICS)错误的位图宽度和高度

时间:2012-01-07 07:48:33

标签: android bitmap android-4.0-ice-cream-sandwich

在Android 2.2和2.3设备上

BitmapFactory.decodeResource(getResources(), R.drawable.my_original_drawable);

生成一个位图,其大小与其源完全相同。在我的带有Android 4(ICS)的Galaxy Nexus上,生成的位图总是太大了。它虽然不应该缩放,但它已经缩放。

这是个大问题。有没有人经历过同样的事?

3 个答案:

答案 0 :(得分:1)

试试这个:

将源文件放在“res / drawable-xhdpi /”文件夹或“res / drawable-sw720dp /”文件夹中

获取更多帮助阅读此链接 http://developer.android.com/guide/practices/screens_support.html

快乐编码

答案 1 :(得分:1)

完全相同的问题,仅在ICS上。

我的解决方法是获取原始流并将其转换为BitMapDrawable

InputStream inputStream = context.getResources().openRawResource(largePhotoDrawableId)
BitmapDrawable photo= null;
photo= new BitmapDrawable(resources,inputStream);

答案 2 :(得分:1)

我知道这是一个非常迟到的回复,但由于我遇到了同样的问题并解决了它,我想让你知道。 解决此问题的方法是将所有资源放在相应的文件夹中,例如drawable-xhdpi,hdpi,mdpi ......等等。

如果要对所有屏幕密度使用相同的资源,请将它们放在drawable-nodpi中。这样,所有设备都将按原样使用资源。

如果你将它们保持在普通的可绘制状态,它将是mdpi的默认设置,任何具有更高dpi的设备都会放大资源以适合他们的屏幕。

希望这会有所帮助;)