android绘制环形进度_Android动态自定义圆形进度条

这篇文章主要介绍了Android动态自定义圆形进度条,需要的朋友可以参考下

效果图:

A.绘制圆环,圆弧,文本

//1.画圆环

//原点坐标

float circleX = width / 2;

float circleY = width / 2;

//半径

float radius = width / 2 - roundWidth / 2;

//设置画笔的属性

paint.setColor(roundColor);

paint.setStrokeWidth(roundWidth);

paint.setStyle(Paint.Style.STROKE);

canvas.drawCircle(circleX, circleY, radius, paint);

//2.画圆弧

RectF oval = new RectF(roundWidth/2,roundWidth/2,width-roundWidth/2,width - roundWidth/2);

paint.setColor(roundProgressColor);

canvas.drawArc(oval, 0, progress * 360 / max, false, paint);

//3.画文本

paint.setTextSize(textSize);

paint.setColor(textColor);

paint.setStrokeWidth(0);

String text = progress * 100 / max + "%";

Rect bounds = new Rect();

paint.getTextBounds(text, 0, text.length(), bounds);

canvas.drawText(text, width / 2 - bounds.width() / 2, width / 2 + bounds.height() / 2, paint);

B.自定义属性的具体步骤

具体步骤:

1. 定义属性: 在values目录下创建attrs.xml

2. 在布局文件中引用当前应用的名称空间

3. 在自定义视图标签中使用自定义属性

android:id="@+id/rp_home_progress"

android:layout_width="120dp"

android:layout_height="120dp"

android:layout_gravity="center_horizontal"

android:layout_marginTop="20dp"

atguigu:roundColor="@android:color/darker_gray
atguigu:roundProgressColor="@android:color/holo_red_dark"

atguigu:textColor="@color/text_progress"

atguigu:roundWidth="10dp"

atguigu:textSize="20sp"

/>

4. 在自定义View类的构造方法中, 取出布局中的自定义属性值

//1.得到所有自定义属性的数组

TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RoundProgress);

//2.获取自定义属性的值, 如果没有指定取默认值

roundColor = typedArray.getColor(R.styleable.RoundProgress_roundColor, Color.RED);

roundProgressColor = typedArray.getColor(R.styleable.RoundProgress_roundProgressColor, Color.GREEN);

textColor = typedArray.getColor(R.styleable.RoundProgress_textColor, Color.GREEN);

roundWidth = typedArray.getDimension(R.styleable.RoundProgress_roundWidth, UIUtils.dp2px(10));

textSize = typedArray.getDimension(R.styleable.RoundProgress_textSize, UIUtils.dp2px(20));

//3.释放资源数据

typedArray.recycle();

C.让圆环进度"动起来"

1.自定义RoundProgress类中提供进度属性的getter和setter方法

2.在HomeFragment的onSuccess()中:

以上所述是小编给大家介绍的Android动态自定义圆形进度条,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2014全国计算机二级vfp模拟试题和答案,2014年全国计算机二级考试VF模拟试题

2014年全国计算机二级考试VF模拟试题选择题(1)下列数据结构中,属于非线性结构的是(  )。A)带链队列B)循环队列C)带链栈D)二叉树(2)下列叙述中正确的是(  )。A)数据的逻辑结构与存储结构是一一对应的B)算法的时间复杂度与空间复杂度一定相关C)算法的.效率只与问题…

一个自动生成关键字索引页面的比处理文件

电脑上资料多了之后,每次找资料很麻烦。因此,匠人写了这个批处理文件。1、把这个批处理文件放在资料目录。2、执行它,输入关键字。它回自动搜索整个目录以及下属目录中的所有文件名中包含该关键字的文件,并生成一个带超级连接的网…

指令 出厂_口碑营销_南澳出口木箱出厂价

口碑营销_南澳出口木箱出厂价 z1m0b1ch口碑营销_南澳出口木箱出厂价 无熏蒸有效期时间限制。拆装方便,由于钢带木箱采用的是钢边连接,因此极大的节省了运输成本,节约了储存空间,对吨以下的货物运输非常适合。而且由于钢边连接&…

j计算机实验室安全操作规范,实验室安全操作规程

与《实验室安全操作规程》相关的范文实验室安全使用操作规程 化学实验室安全使用操作规程 在中学化学实验中,使用的仪器、装置大部分是容易破碎的玻璃器皿,许多药品都是可燃、易爆、有腐蚀性或有毒的危险品,实验过程中常常需要用明火加热。因…

前端学习(498):水平居中布局得第一种方式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>居中布局一</title><style>.parent{wid…

和合符放枕头下的作用_深度解析:记忆棉枕头好,还是乳胶枕头好?

记忆棉枕头和乳胶枕头哪种好&#xff0c;并不能一概一论&#xff0c;要根据个人用枕需求来确定。首先&#xff0c;我们来了解一下它们本质上的区别&#xff0c;顾名思义&#xff0c;它们的本质区别就是材质&#xff0c;从手感上来说&#xff0c;乳胶材质在触感上会比记忆棉更加…

能够关闭并退出计算机程序的是,电脑强制关闭程序按哪三个键 可按Alt+F4关闭当前页面...

导读&#xff1a;说到程序&#xff0c;大多数人都知道&#xff0c;有人问电脑突然死机强制关机打不开&#xff0c;还有朋友想问电脑强制关闭程序按哪三个键&#xff0c;这到底是咋回事&#xff1f;事实上电脑qq怎么强制关闭呢&#xff0c;今天小编给大家整理了电脑强制关闭程序…

前端学习(499):水平居中布局得第一种方式得优点和缺点

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>居中布局一</title><style>.parent{wid…

乒乓球单循环赛_重庆市首届乒乓球业余锦标赛开拍 冠军奖3万 总奖金近10万

上游新闻重庆晚报慢新闻记者 赵映骥 文 /图今天(20日)上午&#xff0c;大田湾体育馆迎来了又一项重磅赛事&#xff1a;重庆市首届泽九杯乒乓球业余锦标赛正式开拍&#xff0c;在为期三天的比赛中&#xff0c;邮电大学超越队、重庆烟草队等35支代表队、近百名乒乓球爱好者&#…

js 作用域

Javascript中的函数“在定义它们的作用域里运行&#xff0c;而不是在执行它们的作用域里运行”。 var tt aa; function test(){ alert(tt); var tt dd; alert(tt); } test(); 执行结果&#xff1a;undefined和dd test函数内部的“var ttdd”将会致使“var ttaa”在test函数被…

计算机组成原理实...,计算机组成原理实报告-杨睿.doc

计算机组成原理实报告-杨睿TH-union教学实验计算机系统实验报告学 院&#xff1a; 信息学院姓 名&#xff1a; 杨睿班 级&#xff1a; 计算机1101B学 号&#xff1a; 2011080332117指导老师&#xff1a; 李天工北京联合大学教务处编印实验一&#xff1a;TH-union教学实验计算机…

前端学习(500):水平居中布局得第二种方式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>居中布局一</title><style>.parent{wid…

swagger 修改dto注解_Swagger介绍及使用

Swagger介绍及使用导语&#xff1a;相信无论是前端还是后端开发&#xff0c;都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力&#xff0c;经常来不及更新。其实无论是前端调用后端&#xff0c;还是后…

注册和登录还有那个加密的密码

假设你在设计自己的系统的时候采用的是MVC架构。例如 也许可能有很多童鞋会这样设计Service和Model. service: public class AccountService { public bool Login(string userName, string password) { // insert into account values(userName,password); …

哪个软件测试手机电池续航好,6款手机电池续航测试排名:iPhone12mini险些垫底,第1名是小米10...

电池寿命是用户最重视的功能之一&#xff0c;如今Android手机电池容量越来越大。相反&#xff0c;iphone 12系列电池容量减少&#xff0c;寿命不尽人意。今天&#xff0c;我们将对iphone 12 mini、Piexl4、1加Nord、Realme X50Pro、1加8T、小米10等6种热门主力机的续航测试排名…

怎么让员工服从管理_职场 | 在职场中,遇到不服从管理的员工,该怎么办呢?...

不懂点心理学&#xff0c;怎么玩转职场&#xff1f;设为【星标】更方便点击上方公号名称→右上角三个点→设为星标&#xff01;职场心理志&#xff0c;专注职场生活的方方面面ID&#xff1a;Workplace-M作者 | 佚名文章来源 | 综合网络不服从管理的员工是个别人&#xff0c;根据…

SpringSource通过Spring for Android 1.0将Spring Framework引入到Android上

近日&#xff0c;SpringSource发布了Spring for Android 1.0。Spring for Android是Spring Framework的扩展&#xff0c;有助于简化原生Android应用的开发。此次发布最为引入关注之处是提供了一个REST客户端&#xff08;RestTemplate&#xff09;以及对OAuth的支持&#xff08;…