我有以下代码来限定要绘制的视图区域:
Rect rect = new Rect();
rect.set(0, 0, 100, 100);
View.setClipBounds(rect);
这将仅在指定的矩形(或在此情况下为正方形)上绘制我的视图。然而,我希望视图被剪切成圆形。是否有办法使 Rect 对象的角变得圆滑?
Rect rect = new Rect();
rect.set(0, 0, 100, 100);
View.setClipBounds(rect);
这将仅在指定的矩形(或在此情况下为正方形)上绘制我的视图。然而,我希望视图被剪切成圆形。是否有办法使 Rect 对象的角变得圆滑?
final Path path = new Path();
path.addRoundRect(new RectF(0,0,getWidth(),getHeight()),10,10,Direction.CW);
@Override
protected void dispatchDraw(Canvas canvas){
canvas.clipPath(path);
super.dispatchDraw(canvas);
}
这段文字是感谢一位在stackoverflow网站上提供帮助的人。试试这个:
val circlePath = Path().apply {
addCircle(x, y, radius, Path.Direction.CW)
}
canvas.clipPath(circlePath)