Android自定义View实现圆弧进度的效果

2022-07-24,,,,

前言

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地址:项目地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

《Android自定义View实现圆弧进度的效果.doc》

下载本文的Word格式文档,以方便收藏与打印。