欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

效果图:

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

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来确定坐标;

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

4.3 绘制文字

4.4提供外部修改进度方法以及进度过度

总结:使用canvas的drawarc方法绘制圆弧及drawtext绘制文本信息等;

github地址:项目地址

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