安卓如何自定义View?
1、首先我们先了解一下我们可能会用到的类。PathMeasure是一个用来测量Path的类。如图是构造方法和公共方法。

2、构造函数分为两类,一类是有参构造函数,无参构造函数。特别注意:1、不论 forceClosed 设置为何种状态(tru髫潋啜缅e 或者 false), 都不会影响原有Path的状态。2、forceClosed 的设置状态可能会影响测量结果。

3、其次是三个重要函数。setPath、 isClosed 和 getLength。然后是个getSegment函数。

4、canvas.translate(mViewWidth / 2, mViewHeight / 2);// 平移坐标系Path path = new Path(); // 创建Path并添加了一个矩形path.addRect(-200, -200, 200, 200, Path.Direction.CW);Path dst = new Path();// 创建用于存储截取后内容的 PathPathMeasure measure = new PathMeasure(path, false); // 将 Path 与 PathMeasure 关联// 截取一部分存入dst中,并使用 moveTo 保持截取得到的 Path 第一个点的位置不变measure.getSegment(200, 600, dst, true);canvas.drawPath(dst, mDeafultPaint);

5、如图,我们可以得到:被截取的 Path 片段会添加到 dst 中,而不是替换 dst 中到内容。

6、nextContour,getPosTan,getMatrix这三个函数也是我们需要用到的。
