资 源 简 介
从一本书中得到的Android PathEffect 效果实例,不多说了,直接把关键代码帖出来吧,需要完整代码的可下载本源码,运行的效果请参见下边的截图所示,运行时,可看到多条像流水一样的路径曲线,下面是代码:
// 定义画板为白色
canvas.drawColor(Color.WHITE);
pe[0] = null;
// 此PathEffect为圆滑的弧形
pe[1] = new CornerPathEffect(10);
// 离散的线
// 第一个参数为离散在弧上的间距
// 第二个参数为离散的程度
pe[2] = new DiscretePathEffect(3, 10);
// Dash为破折号的意思。 应该是破这行
// 其中第一个参数是new float[]{} 表示其中的间隔和距离
// phase表示相位
pe[3] = new DashPathEffect(new float[] { 20, 5, 5, 20 }, phase);
//先建立一个Path 然后创建PathDashPathEffect对象 其中p为path
Path p = new Path();
p.addRect(0,0,8,8,Path.Direction.CW);
pe[4] = new PathDashPathEffect(p, 12, phase, PathDashPathEffect.Style.ROTATE);
//此方法表示两个组合的PathEffect
pe[5] = new ComposePathEffect(pe[2], pe[4]);
//结果和pe[5]类似
pe[6] = new SumPathEffect(pe[4], pe[3]);
// 开始画七条线
for (int i = 0; i < pe.length; i++) {
// 如果没有paint.setPathEffect(),那么系统默认为paint.setPathEffect(null);
paint.setPathEffect(pe[i]);
paint.setColor(colors[i]);
canvas.drawPath(path, paint);
//使画板平移