自定义view的图形绘制

1.Path的方向与绘制:Path是有方向的CW,与CCW,不同方向的图形相交部分有绘制和不绘制两种情况,默认情况下相交部分 通过射线,的交点+1 -1来判断,不等于0的位置则绘制,等于0则不绘制

如果我们要做漏空,可以设置path的fillType为FillType.EVEN_ODD,这个类型就是不判断方向,只要相交了就漏空

2.PathMeassure:计算path的路径长度

pathMeasure = PathMeasure(path,false)

第二和参数,填入true会计算你的path图形封口后的长度

3.PathDashPathEffect:可以绘制path路径上的特殊图形,通过配置他,我们可以把绘制直线转换为绘制虚线等等特殊的图形

public PathDashPathEffect(Path shape, float advance, float phase,
                              Style style)
<p>val pathDashPathEffect = PathDashPathEffect(Path(),0f,0f,PathDashPathEffect.Style.MORPH)
paint.pathEffect = pathDashPathEffect

Path shape 是要绘制的图形,advance是间隔,phase是不是要向后延在会绘制(Google把两个单词与用法搞反了),Style是拐角处的处理