繁体   English   中英

如何在Android中在运行时给图像视图一个圆角

[英]How to give one radius corners to an imageview at runtime in android

我有兴趣在imageview的一个角上指定一个半径。 我正在使用以下代码为imageview提供圆角,但是它可以在所有四个角上使用,并且我只希望对一个角进行圆角处理。

Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);

final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels;

paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);

您可以尝试以下方法:
1.扩展ImageView
2.重写onDraw方法

一种。 创建一个剪辑路径对象(Path类对象clipPath)
b。 定义您的剪贴区域(clipPath.addArc)
C。 将剪辑路径设置为“画布”
d。 调用super.Ondraw(画布)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM