You can make your custom component with a background bitmap repeated:
BitmapDrawable bitmapBg = new BitmapDrawable(BitmapFactory.decodeResource(
getResources(), R.drawable.repeatbg));
bitmapBg.setTileModeX(Shader.TileMode.REPEAT);
image.setBackgroundDrawable(bitmapBg);
And you can make a mask with the image that you want like that triangle and your bg.
public static Bitmap getMaskedContactImage(Context context,
Bitmap contactImageBitmap, int maskToBeApplied) {
Bitmap mask = BitmapFactory.decodeResource(context.getResources(),
maskToBeApplied);
Bitmap output = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(),
Config.ARGB_8888);
final Rect finalRect = new Rect(0, 0, contactImageBitmap.getWidth(),
contactImageBitmap.getHeight());
final Rect originRect = new Rect(0, 0, mask.getWidth(),
mask.getHeight());
Canvas canvas = new Canvas(output);
Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
xferPaint.setColor(Color.BLACK);
xferPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
canvas.drawBitmap(contactImageBitmap, finalRect, originRect, null);
canvas.drawBitmap(mask, originRect, originRect, xferPaint);
contactImageBitmap.recycle();
mask.recycle();
return output;
}
That will use a mask where the black color is the final image.
If i didn't misunderstood, that can achieve what you are showing in the capture.
Regards, Alex