我更新了我的构建,以根据Android 1.6进行构建,现在我的位图在高密度屏幕上缩小了。我不想要这种行为。我给了这个镜头:

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

但是这些图像仍在扩展,也就是说,除非我将它们设置为特定的高度和宽度。如果我使用 wrap_content 他们被缩放。

我有一个使用未量化的位图加载器的图像加载程序来创建类似的可绘图器:

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

后来我将其分配给像这样的imageview:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );
有帮助吗?

解决方案 3

用一个将位图包裹 Drawable 是问题。这 Drawable 缩放 Bitmap. 。而不是使用 Drawable, ,分配 BitmapImageView 直接使用 imageView.setImageBitmap(Bitmap).

其他提示

为了使图像从资源加载时未缩放图像(例如使用BitMapFactory.decoderesource),您必须将其定位在Res/drawable-nodpi中,而不是通常的可绘制,可绘制的,可绘制的dldpi等。

使用

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

代替

 new BitmapDrawable(bmp);

应该解决这个问题。

采用 ImageView.scaletype. 。这 CENTER 不断预先缩放缩放,所以我想这就是您要寻找的。

顺便说一句,您是否使用像素或倾角作为尺寸单元?使用DIPS(密度无关的像素)是在多个分辨率上标准化显示的一种手段。您会发现几个技巧 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top