Android自定义View实现圆弧进度的效果
程序员文章站
2022-05-08 09:28:29
前言android开发中,常常自定义view实现自己想要的效果,当然自定义view也是android开发中比较难的部分,涉及到的知识有canvas(画布),paint(画笔)等,自定义控件分为三种:一...
前言
android开发中,常常自定义view实现自己想要的效果,当然自定义view也是android开发中比较难的部分,涉及到的知识有canvas(画布),paint(画笔)等,自定义控件分为三种:一是直接继承自view,完全的自定义;二是在原有控件的基础上进行改造,达到自己想要的效果;还有一种就是自定义组合控件,将已有的控件根据自己的需要进行组合实现的效果。本人对自定义view也是一知半解,简单记录下自己学习自定义view(继承自view)的过程,方便日后翻阅。
使用技术
1、继承view
2、canvas
3、paint
效果图:
1.分析组件
自定义view首先我们要分析组件是由几部分组成,然后在依次顺序使用canvas画出组件,首先可以看出该组件由一个背景外部圆,一个圆弧,以及圆弧端点是由两个圆组成,内部是三个文字。分析完毕,我们就可以先定义组件属性了
2.组件属性
1.在values目录下新建attrs.xml文件,用来编写组件属性
2.自定义view继承view并实现构造方法
2.初始化属性
3.获取组件高度宽度,重写onmeasure方法
4.重写ondraw()绘制组件各部分
###### 4.1绘制背景圆
4.2 绘制圆弧进度
1.注意:圆弧上端点进度为0或者100不显示,此外端点的位置使用sin和cos来确定坐标;
4.3 绘制文字
4.4提供外部修改进度方法以及进度过度
总结:使用canvas的drawarc方法绘制圆弧及drawtext绘制文本信息等;
github地址:项目地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: DBUtils的使用详解