转载自:http://www.cnblogs.com/tianzhijiexian/p/4297783.html
当我们的画布canvas使用了drawPath的时候,为画笔mPaint设置PathEffect可以作用于path产生不同的效果。
mPaint.setPathEffect(new CornerPathEffect(50));//路径转角变圆滑
mPaint.setPathEffect(new DiscretePathEffect(3.0F, 5.0F));//路径呈现锯齿效果(数值越大越平滑)
mPaint.setPathEffect(new DashPathEffect(new float[] {20, 10}, 1));//绘制虚实线,数组参数的长度必须是2的整数倍,第0个是实线长度,第1个虚线长度,第二个参数表示第0个实线的偏移量。动态修改这个偏移量的值,可实现动画效果。
Path path = new Path();
path.addCircle(0, 0, 3, Direction.CCW);
//自定义路径虚线的样式,比如这里是圆形虚线
PathEffect pathEffect = new PathDashPathEffect(path, 12, phase, PathDashPathEffect.Style.ROTATE);
mPaint.setPathEffect(pathEffect);
canvas.drawPath(mPath, mPaint);
|