Мне нужно иметь возможность замаскировать изображение в моем макете, чтобы углы были закруглены. Есть ли простой способ указать альфа-маску в макете? Я бы не хотел вручную маскировать каждое используемое растровое изображение.
РЕДАКТИРОВАТЬ
Вот мой код, как указано в другом ответе:
HttpURLConnection connection = (HttpURLConnection) this.items.get(position).getIcon().toURL().openConnection();
connection.setDoInput(true);
connection.connect();
Bitmap bitmap = BitmapFactory.decodeStream(connection.getInputStream());
Integer dimension = bitmap.getWidth() > bitmap.getHeight() ? bitmap.getWidth() :
bitmap.getHeight();
Bitmap rounder = Bitmap.createBitmap(dimension, dimension, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(rounder);
Paint painter = new Paint(Paint.ANTI_ALIAS_FLAG);
painter.setColor(Color.RED);
canvas.drawRoundRect(new RectF(0, 0, dimension, dimension),
20.0F, 20.0F, painter);
painter.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
canvas.drawBitmap(bitmap, 0, 0, null);
canvas.drawBitmap(rounder, 0, 0, painter);
holder.image.setImageBitmap(bitmap);
Однако это не работает. Я не вижу закругленных углов, я вижу обычное изображение как есть. Есть ли в конце пропущенный шаг, связанный с холстом?