Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);  p.setStyle(Style.STROKE);  p.setColor(Color.WHITE);  p.setStrokeWidth(1);  PathEffect effects = new DashPathEffect(new float[] { 1, 2, 4, 8}, 1);  p.setPathEffect(effects);  canvas.drawLine(0, 40, mWidth, 40, p);  

DashPathEffect是PathEffect类的一个子类,可以使paint画出类似虚线的样子,并且可以任意指定虚实的排列方式.

代码中的float数组,必须是偶数长度,且>=2,指定了多少长度的实线之后再画多少长度的空白.
如本代码中,绘制长度1的实线,再绘制长度2的空白,再绘制长度4的实线,再绘制长度8的空白,依次重复.1是偏移量,可以不用理会.

简单介绍下 PathEffect类:
PathEffect是用来控制绘制轮廓(线条)的方式。
PathEffect对于绘制Path基本图形特别有用,但是它们也可以应用到任何Paint中从而影响线条绘制的方式。
使用PathEffect,可以改变一个形状的边角的外观并且控制轮廓的外表。
Android包含了多个PathEffect,包括:
CornerPathEffect 可以使用圆角来代替尖锐的角从而对基本图形的形状尖锐的边角进行平滑。
DashPathEffect 可以使用DashPathEffect来创建一个虚线的轮廓(短横线/小圆点),而不是使用实线。你还可以指定任意的虚/实线段的重复模式。
DiscretePathEffect 与DashPathEffect相似,但是添加了随机性。当绘制它的时候,需要指定每一段的长度和与原始路径的偏离度。
PathDashPathEffect 这种效果可以定义一个新的形状(路径)并将其用作原始路径的轮廓标记。
下面的效果可以在一个Paint中组合使用多个Path Effect。
SumPathEffect 顺序地在一条路径中添加两种效果,这样每一种效果都可以应用到原始路径中,而且两种结果可以结合起来。
ComposePathEffect 将两种效果组合起来应用,先使用第一种效果,然后在这种效果的基础上应用第二种效果。
对象形状的PathEffect的改变会影响到形状的区域。这就能够保证应用到相同形状的填充效果将会绘制到新的边界中。

更多相关文章

  1. Android 仿大众点评团购购买条浮动效果
  2. android 自带的动画,实现左右切屏效果
  3. ClipDrawable制作图片渐进效果
  4. Android中TextView实现文字跑马灯效果(滚动轮播)
  5. Android实现图片的倒影效果分析
  6. android EditView自动判断输入长度,并限制字数,然后将光标停在最后
  7. android实现按键效果
  8. android 实现Iphone效果Switch,

随机推荐

  1. Android开发资料推荐之20个Android游戏源
  2. Android软键盘弹出,布局没有上移的解决办
  3. android学习路线和环境搭建、推荐一个博
  4. Android(安卓)BroadcastReceiver 简介
  5. Android(安卓)CTS Tips
  6. 安卓巴士Android开发神贴整理
  7. 常用的android权限配置和常用工具代码
  8. Android(安卓)5.1状态栏背景色定制 在Lau
  9. Android应用安装错误:INSTALL_FAILED_MEDI
  10. GridView九宫图