我试图在视图上设置背景,这应该是一个带有圆角和渐变色调的图像
我觉得我很近,我只是错过了圆角。我在这里制作了一个最小的工作示例项目:https://github.com/RandomStuffAndCode/AndroidCanvas
RoundedBitmapDrawable dr = RoundedBitmapDrawableFactory.create(getResources(), src);
dr.setCornerRadius(convertToPixels(context, CORNER_RADIUS));
Bitmap drBitmap = drawableToBitmap(dr);
Paint drPaint = new Paint();
drPaint.setAntiAlias(true);
drPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(drBitmap, 0,0,drPaint);
这显然给了我4个圆角而不只是1.我考虑在其他圆角上绘制一个矩形,但由于渐变叠加,这看起来不太好。
答案 0 :(得分:1)
如果您的目标是API级别21+,可能的选择是使用普通的ImageView,但在其上设置ViewOutlineProvider。您提供的大纲可能必须是convexPath选项,因此您必须针对特定用例修改它。