Android:如何阻止Android 1.6+缩放图像

时间:2010-11-03 21:36:44

标签: android bitmap scale drawable

我更新了我的构建以针对Android 1.6构建,现在我的位图在高密度屏幕上缩小。我不想要这种行为。我试了一下:

http://blog.tomgibara.com/post/190539066/android-unscaled-bitmaps

但是图像仍然是缩放比例,除非我将它们设置为特定的高度&宽度。如果我使用wrap_content,则缩小它们。

我有一个使用未缩放的位图加载器的图像加载器来创建一个drawable,如下所示:

Bitmap bm = UnscaledBitmapLoader.loadFromResource(imageBufferInputStream);
drawable = new BitmapDrawable(bm);

我稍后将其分配给ImageView:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );

4 个答案:

答案 0 :(得分:3)

为了在从资源加载图像时没有缩放图像(例如使用BitmapFactory.decodeResource),您必须在res / drawable-nodpi中找到它,而不是通常的drawable,drawable-ldpi等等。

答案 1 :(得分:2)

使用

new BitmapDrawable(this.getResources(), bmp); 

而不是

 new BitmapDrawable(bmp);

应该解决问题。

答案 2 :(得分:1)

使用Drawable包装位图是个问题。 Drawable缩放Bitmap。不使用Drawable,而是使用Bitmap直接将ImageView分配给imageView.setImageBitmap(Bitmap)

答案 3 :(得分:0)

使用ImageView.ScaleTypeCENTER常量不会缩放,所以我想这就是你要找的东西。

顺便问一下,你使用像素或蘸料作为尺寸单位吗?使用凹陷(与密度无关的像素)是一种标准化多种分辨率显示的方法。您会找到一些提示here