drawBitmap と setBackgroundDrawable の組み合わせを使用すると、画像が実際よりも 2 倍小さく表示されるという奇妙な問題があります。
以下は、新しいビットマップとキャンバスを作成する私のコードです。次に、キャンバスにビットマップを描画し、新しいビットマップを既存のレイアウトの背景として配置します。後でキャンバスを操作するので、このメソッドを使用する必要があります。
Bitmap left = BitmapFactory.decodeResource(getResources(), resID);
// Create a temporary bitmap
Bitmap tempBitmap = Bitmap.createBitmap(
left.getWidth(),
left.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas tempCanvas = new Canvas(tempBitmap);
//Draw bitmap on canvas
tempCanvas.drawBitmap(left, 0, 0, null);
background.setBackgroundDrawable(tempBitmap);
使用してみtempCanvas.scale(2, 2);
ましたが、これは「ピクセル」を通常のサイズにスケーリングしますが、長方形はスケーリングしません。
背景画像を使用background.setBackgroundResource(resID);
すると、正しいサイズで表示され、MDPI/HDPI/XHDPI フォルダーの問題が除外されます。
で設定すると背景画像が縮小表示されるのはなぜsetBackgroundDrawable()
ですか?