在设备中使用高分辨率图像时出现问题.
imageview a;
InputStream ims = getAssets().open("sam.png");//sam.png=520*1400 device=320*480 or 480*800
Drawable d=Drawable.createFromStream(ims, null);
a.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
a.setImageDrawable(d);
通过使用上面的代码图像在顶部和底部留下空间到下一个内容或如果我通过给出固定的px缩小图像,它的大小得到模糊图像.无论如何要解决这个问题?
解决方法:
尝试创建Bitmap而不是Drawable:
Bitmap bmp = BitmapFactory.decodeStream(ims);
a.setImageBitmap(bmp);
看起来Android在使用drawables做一些技巧,具体取决于屏幕密度.