Android 中关于PathEffect子类的效果(中级)

来源:未知 责任编辑:智问网络 发表时间:2013-09-03 11:50 点击:

Android 中关于PathEffect子类的效果(中级)

可以参考APIDeam中 Graphis--PathEffects 的效果 在对比自己写出的效果

上代码

private static class patheffect extends  View{

private int [] color;

private PathEffect[]patheffect=new PathEffect[7];

private Paint paint;

private float phase;

private Path path;

/*

 * 初始化工作 

 */

public patheffect(Context context) {

super(context);

paint =new Paint();

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.STROKE);

paint.setStrokeWidth(5);

color=new int[]{

Color.BLACK,Color.BLUE,Color.YELLOW,Color.RED,Color.GRAY,Color.GREEN,Color.CYAN};

path=new Path();

path.moveTo(0, 0);

for(int i=1;i<15;i++){//画出15个点 连成一条线

path.lineTo(i*20, (float)Math.random()*60);

}

// path.close(); 如果有这句话 第一个点会和最后一个点关联 如图一 没有如图二

}

/* 下面测试PathEffect的子类  

 *  ComposePathEffect, CornerPathEffect, DashPathEffect,

 *  DiscretePathEffect, PathDashPathEffect, SumPathEffect 

 *  建议自己测试一下 自己看效果就回明白这些子类的作用了

 */

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

canvas.drawColor(Color.WHITE);

patheffect[0]=null;

patheffect[1]=new CornerPathEffect(10);

patheffect[2]=new DiscretePathEffect(3, 5);

patheffect[3]= new DashPathEffect(new float[]{20,10,5,10}, 10);

Path p=new Path();

p.addRect(0, 0, 8, 8, Path.Direction.CCW);

patheffect[4]=new PathDashPathEffect(p, 12, phase, PathDashPathEffect.Style.ROTATE);

patheffect[5]=new SumPathEffect(patheffect[3], patheffect[4]);

patheffect[6]=new ComposePathEffect(patheffect[3], patheffect[4]);

canvas.translate(8, 8);

for(int i=0;i<patheffect.length;i++){

paint.setColor(color[i]);

paint.setPathEffect(patheffect[i]);

canvas.drawPath(pathpaint);

canvas.translate(0, 60);

}

phase+=1;//这里的phase 如果不自增 是没有动画效果的  phase制定路径效果的相位

invalidate();//回调onDdraw 重新绘制

}

}

 

 

大家可以看每条线的效果 对应

本文出自 “美丽的奇葩” 博客,请务必保留此出处http://skyoceanone.blog.51cto.com/3483859/683886

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1