安卓如何自定义View?

2025-11-24 07:02:09

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

安卓如何自定义View?

2、构造函数分为两类,一类是有参构造函数,无参构造函数。

特别注意:1、不论 forceClosed 设置为何种状态(true 或者 false), 都不会影响原有Path的状态。2、forceClosed 的设置状态可能会影响测量结果。

安卓如何自定义View?

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

然后是个getSegment函数。

安卓如何自定义View?

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();                                      // 创建用于存储截取后内容的 Path

    PathMeasure measure = new PathMeasure(path, false);         // 将 Path 与 PathMeasure 关联

    // 截取一部分存入dst中,并使用 moveTo 保持截取得到的 Path 第一个点的位置不变

    measure.getSegment(200, 600, dst, true);                    

    canvas.drawPath(dst, mDeafultPaint);    

安卓如何自定义View?

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

安卓如何自定义View?

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

安卓如何自定义View?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢