效果图如下:

简单实现

        Paint mPaintCircle = new Paint();mPaintCircle.setStyle(Paint.Style.STROKE);mPaintCircle.setAntiAlias(true);mPaintCircle.setStrokeWidth(2);mPaintCircle.setColor(Color.parseColor("#4d7aad"));mPaintCircle.setPathEffect(new DashPathEffect(new float[]{4, 4}, 0));//绘制长度为4的实线后再绘制长度为4的空白区域,0位间隔canvas.drawCircle(width, height, mRadius - 5, mPaintCircle);

原理

使用PathEffect来达到虚线的效果,PathEffect就是指,用各种笔触效果来绘制一个路径。

各种PathEffect绘制方式

CornerPathEffect
将拐角处变得圆滑,具体圆滑的成都,由参数决定

DiscretePathEffect
使线段上产生很多杂点

DashPathEffect
实现上产生虚线,用一个数组来设置各个点之间的间隔。另一个参数phase则用来控制绘制时数组的一个偏移量,通常可以通过设置值来实现路径的动态效果。

PathDashPathEffect
这个效果和DashPathEffect相似,功能更加强大,可以显示其他图形,圆形点的虚线,放行点的虚线等

ComposePathEffect
这个可以组合PathEffect,这个方法的功能就是将任意两种路径特性组合起来行程一个新的效果。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续码蛋!

Android 使用Canvas+Paint画虚线相关推荐

  1. html页面画虚线,HTML5中canvas怎么画虚线

    HTML5中canvas如何画虚线 虚线也可以看成是一段段的实线组成的,而实线是利用context.moveTo(x,y);context.lineTo(x2,y2);context.stroke() ...

  2. html中间一条虚线怎么画,【html5】HTML5中canvas怎样画虚线

    在canvas API中,我们发现仅仅提供了画实线的方法实现,并没有虚线的相关方法,那么怎样实现画虚线呢? 现实中,虚线是由一小段小段的实线线段组成,那么仅仅要我们通过画出等长度的线段就能够组成我们想 ...

  3. Android 画虚线 DashPathEffect 使用详解

    代码 package com.example.view;import android.content.Context; import android.graphics.Canvas; import a ...

  4. android path 画虚线,Android实现画虚线的控件

    在Android的UI开发中,有时为了界面美观而需要虚线.我自己实现一个虚线控件. package com.custom; import android.content.Context; import ...

  5. Android drawLine 画虚线

    drawLine 是画线的 ,有时候想画虚线可以使用 PathEffect 代码如下 Paint linePaint = new Paint();linePaint.reset();linePaint ...

  6. Android利用canvas画各种图形

    为什么80%的码农都做不了架构师?>>>    1.首先说一下canvas类: Class Overview The Canvas class holds the "dra ...

  7. Android心电数据分析,Android SurfaceView+Canvas画脉搏/心电数据图-Go语言中文社区

    实际演示效果: Canvas 画图基本步骤: 1.布局添加一个SurfaceView<?xml version="1.0" encoding="utf-8" ...

  8. 初学Android,图形图像之使用Canvas,Paint绘图(二十五)

    下面是一个画各种图形的例子,具体的画图方法不用特别解释,看API就可以了 先定义一个继承自View的类DrawView package WangLi.Graphics.MyView;import an ...

  9. Android中Canvas和Paint的常用方法

    Canvas: void drawRect(RectF rect, Paint paint) //绘制区域,参数一为RectF一个区域 void drawPath(Path path, Paint p ...

最新文章

  1. ansible 发部署nginx以及更新、回滚
  2. 安装opencms时遇到问题及解决方法
  3. 去除右下角淘宝网弹窗恶意广告!
  4. Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)
  5. 华为南太无线解决方案部梁旭阳_华为无线充电新专利:激光无线充电,替代传统半接触式...
  6. 28. css样式中px转rem
  7. python cv.imread_Python的OpenCV cv2.imread总是返回None而cvFeatDetector崩溃了python
  8. 写给大数据开发初学者的话4
  9. python算法的基本原理_kNN算法基本原理与Python代码实践
  10. python中的pyinstaller库_Python(00):PyInstaller库,打包成exe基本介绍
  11. python学习机器学习_机器学习Python技巧,令人毛骨悚然的Linux命令,Thelio,Podman等
  12. 【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!
  13. mysqldump全量恢复_mysql全量备份和快速恢复的方法整理
  14. 《移动通信》学习总结
  15. Git 使用明细,持续完善中......
  16. 海思烧录工具Hitool使用方法
  17. vb基础计算机应用,老师给学生的-VB计算机应用基础考试
  18. python运行快捷键是什么_Python快捷键
  19. PS4蓝牙手柄分析之1
  20. 一个Node程序猿上海的一周

热门文章

  1. 使用ffmpeg将MP4视频转换为m3u8格式
  2. 解析EIT遇到的问题
  3. OpenCV视频写入详解_Python,视频保存0kb问题
  4. 查询每个部门工资前三名的员工信息
  5. 配电室需要安装六氟化硫气体泄漏报警器吗?
  6. V2G模式下含分布式能源网优化运行研究(Matlab代码实现)
  7. VUE+Spring Boot前后端分离开发实战(五):基于shiro鉴权的角色增删改查(CURD)-封装分页组件和所有增删改查模块化
  8. 熊猫烧香被恶搞,网友爆笑诗词句大集合[zz]
  9. Linux版本的JDK
  10. 遍历文件夹中所有png文件(指定类型文件都可以)python代码