我需要能够在布局中屏蔽图像以获得圆角。有没有一种简单的方法来在布局中指定alpha蒙版?我想避免手动屏蔽我正在使用的每个位图。
这是我的代码,参考其他答案:
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);
然而,这不起作用。我没有看到圆角,我看到的是常规图像。最后我是否缺少涉及画布的步骤?
答案 0 :(得分:2)
看起来您的问题之前已经得到解答,或许this可能有帮助吗?
答案 1 :(得分:1)
有几种方法可以实现这一点。我会制作一个透明的九个补丁,除了角落并在图像上绘制。