フレーム内に画像を表示するには、2 つの方法があります。
- 背景画像または色を設定して、画像がフレーム内にあることを示します
- マスキングの設定
BackGround を設定する場合:
<ImageView
android:id = "@+id/imageItem"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:adjustViewBounds = "true"
android:scaleType = "center"
android:padding = "5dp"
android:background = "#FFFFFF"
android:contentDescription = "@null" />
マスキングについては、次のコードを確認してください。
ImageView mImageView= (ImageView)findViewById(R.id.imageview_id);
Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.content_image);
Bitmap mask = BitmapFactory.decodeResource(getResources(),R.drawable.mask);
Bitmap result = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Config.ARGB_8888);
Canvas mCanvas = new Canvas(result);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(original, 0, 0, null);
mCanvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null);
mImageView.setImageBitmap(result);
mImageView.setScaleType(ScaleType.CENTER);
mImageView.setBackgroundResource(R.drawable.background_frame);
背景として色を表示したい場合は、最初のオプションの方がはるかに優れており、効率的です。