在Android 2.2和2.3设备上
BitmapFactory.decodeResource(getResources(), R.drawable.my_original_drawable);
生成一个位图,其大小与其源完全相同。在我的带有Android 4(ICS)的Galaxy Nexus上,生成的位图总是太大了。它虽然不应该缩放,但它已经缩放。
这是个大问题。有没有人经历过同样的事?
答案 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的设备都会放大资源以适合他们的屏幕。
希望这会有所帮助;)