####前言
之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用
涉及内容有:
- Path画直线路径
- Path画弧线路径
- PathView引用说明
- 项目结构图和效果图
#####一. Path画直线路径
Path画直线路径的步骤分三步:
第一步:设置path的起点,代码如下:
path.moveTo(float x,float y);//设置path的起点
第二步:设置下一个路径点,代码如下:
path.lineTo(float x,float y);//设置下一个路径点
注意:path的lineTo方法可以不断使用。
第三步:封闭形成闭环,代码如下:
path.close();
注意:第三步的调用不是必须的,只有当你连续LineTo了几条直线以后,想形成一个封闭的空间的时候,可以直接调用此方法,而不用又费力的调用lineTo回到原点。
#####二. Path画弧线路径
path画弧线的方法常用的有如下几个:
arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo);
arcTo(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean forceMoveTo) ;
其实第一个和第二个大同小异,只是第一个是传入一个RectF,而第二个是直接将构造RectF的参数传进去而已。这里以讲解
arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo);
为例,方法很简单,但是理解是个问题。下面着重介绍arcTo方法的几个参数的意义,帮助大家理解。
######2.1 RectF oval 参数
书本解释是:生成椭圆的矩形。
这里大家注意一点,如果矩形是长方形,那么生成的是椭圆,如果矩形是正方形的时候,生成的就是圆了。
这里解释让人感觉生硬,不好理解,那么这个RectF和弧线到底啥关系,让我们用代码解释:
//设置paint
Paint