質問

Android 1.6に対してビルドするためにビルドを更新しましたが、これでビットマップは高密度スクリーンで拡大されています。私はこの動作を望んでいません。私はこれを試しました:

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

しかし、画像はまだスケーリングされています。つまり、特定の高さと幅に設定しない限りです。使用する場合 wrap_content それらは縮小されています。

SOのような描画可能なものを作成するために、Unscaled Bitmap Loaderを使用して画像ローダーがあります。

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

後でImageViewに割り当てます。

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );
役に立ちましたか?

解決 3

aでビットマップをラッピングします Drawable 問題です。 Drawable スケール Bitmap. 。使用する代わりに Drawable, 、を割り当てます BitmapImageView 直接使用します imageView.setImageBitmap(Bitmap).

他のヒント

リソース(bitmapfactory.decoderesourceなど)からロードするときに画像をスケーリングしないようにするには、通常の描画可能、描画可能なldpiなどの代わりに、res/drawable-nodpiに配置する必要があります。

使用

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

それ以外の

 new BitmapDrawable(bmp);

問題を解決する必要があります。

使用する ImageView.scaletype. 。 CENTER 定数はスケーリングをしないので、それがあなたが探しているものだと思います。

ちなみに、サイズユニットとしてピクセルまたはディップを使用していますか? DIPS(密度非依存ピクセル)を使用することは、複数の解像度で表示を標準化する手段です。いくつかのヒントが見つかります ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top