view中path的使用

Path mPath = new Path();
1,Path.Direction.CCW和 Path.Direction.CW
Path.Direction.CW表示顺时针
Path.Direction.CCW表示逆时针

2 lineTo moveTo
在lineTo表示轨迹运动点 moveTo表示轨迹运动起点
在path画图中,如果不设置moveTo系统默认在(0,0)
设置moveTo
mPath.moveTo(20,40);
mPath.lineTo(30,80);
canvas.drawPath(mPath, mPaint);
不设置moveTo
mPath.lineTo(30,80);
canvas.drawPath(mPath, mPaint);
3,贝塞尔曲线
3.1path.quadTo(float x1, float y1, float x2, float y2)
float x1表示操作的起点x轴坐标
float y1表示操作起始点y轴坐标
float x2 表示操作结束点x轴坐标
float y2 表示操作结束点y轴坐标
mPath.moveTo(20,40);
mPath.quadTo(30,20,50,60);
canvas.drawPath(mPath, mPaint);
3.2 rCubicTo(float x1, float y1, float x2, float y2,
float x3, float y3)
float x2, float y2, 同样表示操作起点
4矩形
addRect(float left, float top, float right, float bottom, Direction dir)
left 左边坐标 x
top 上边坐标值 y
right 右边坐标值 x
bottom 底部坐标值 y
dir 画图方向 看第一条介绍,两个枚举值
mPath.addRect(30,30,90,90, Path.Direction.CCW);
canvas.drawPath(mPath, mPaint);
5 圆角矩形
addRoundRect(float left, float top, float right, float bottom, float rx, float ry,Direction dir) 注 这个要求sdk最低版本呢是21
向下兼容要使用
addRoundRect(RectF rect, float rx, float ry, Direction dir)
mPath.addRoundRect(new RectF(30,30,90,90),5,5, Path.Direction.CCW);

你可能感兴趣的:(android)