先把代码贴出来,后面有时间再进行分析;
涉及的主要函数
Path.computeBounds():测量线段所占用的最小矩形空间与位置
Path.op():两个Path之间的运算,主要作用是用一些简单的图形通过一些规则合成一些相对比较复杂,或难以直接得到的图形;
参考资料:https://www.gcssloop.com/customview/Path_Over.html
效果:
代码:
package com.alrey.customview;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.Nullable;
public class CanvasView extends View {
Paint mPaint = null;
Paint mPaintArea = null;
public CanvasView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs)