1

我更新了构建以针对 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

4 回答 4

3

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

于 2010-11-04T04:50:24.513 回答
2

使用

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

代替

 new BitmapDrawable(bmp);

应该解决问题。

于 2011-08-23T09:48:58.453 回答
1

用 a 包裹位图Drawable是问题所在。DrawableBitmap。_ 不使用 a Drawable,而是将 分配BitmapImageView直接使用imageView.setImageBitmap(Bitmap)

于 2010-11-04T01:10:57.837 回答
0

使用ImageView.ScaleType。常数预CENTER成型没有缩放,所以我想这就是你要找的。

顺便说一句,您使用像素或凹陷作为尺寸单位吗?使用 dips(与密度无关的像素)是一种标准化多种分辨率显示的方法。您会在这里找到一些提示。

于 2010-11-03T22:42:10.783 回答