private void drawScheduleCircle(Canvas canvas) {/*设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。如果不设置的话画出来的图形会比较粗糙*/mPaint.setAntiAlias(true);setPaint(Color.BLACK, Paint.Style.STROKE, 1);/*背景圆*/canvas.drawCircle(getWidth() / 2, getHeight() / 2, getWidth() / 3, mPaint);/*进度条*//*设置线冒样式,有圆 有方随意,不设置也无所谓,只要是笔触的形状分别*///mPaint.setStrokeCap(Paint.Cap.ROUND);//mPaint.setStrokeCap(Paint.Cap.BUTT);//mPaint.setStrokeCap(Paint.Cap.SQUARE);/*此处设置画笔的宽度主要就是为了让进度条显示为圆环形状,宽度就是圆环的宽度*/setPaint(Color.BLUE, Paint.Style.STROKE, getWidth() / 20);/*设置进度条的位置坐标getWidth() / 2 - getWidth() / 3 + getWidth() / 40getWidth() / 2 为控件的中间位置,getWidth() / 3 为上面所画圆的半径,getWidth() / 40 为进度条的宽度的一半这里是因为所画的进度条为圆环形,且圆环在上面所画圆的内部,如果不不减去圆环宽度的一半,那么圆环会有一半在圆的外边*/RectF rectF = new RectF(getWidth() / 2 - getWidth() / 3 + getWidth() / 40,getHeight() / 2 - getWidth() / 3 + getWidth() / 40,getWidth() / 2 + getWidth() / 3 - getWidth() / 40,getHeight() / 2 + getWidth() / 3 - getWidth() / 40);/*根据传来的进度数据计算进度条的大小*/float sweepAngle = (float) (3.6 * mProgress);/*若要画圆环,第四个参数设置为false,画笔模式为Paint.Style.STROKE,如果画圆形,第四个参数设置为true,画笔模式为Paint.Style.FILL*/canvas.drawArc(rectF, mStartAngle, sweepAngle, false, mPaint);//字体setPaint(Color.BLACK, Paint.Style.FILL, 2);String txt = mProgress + "%";/*设置字体的总长度*/float textSize=((getWidth()*2)/3-getWidth()/20)/4;mPaint.setTextSize(textSize);/*计算字体的宽高*/Paint.FontMetrics fm = mPaint.getFontMetrics();int txtHeight = (int) Math.ceil(fm.descent - fm.ascent);float txtWidth = mPaint.measureText(txt, 0, txt.length());canvas.drawText(txt, getWidth() / 2 - txtWidth / 2, getHeight() / 2 + txtHeight / 4,mPaint);}
    private void setPaint(int color, Paint.Style mod, float size) {//设置画笔颜色mPaint.setColor(color);//STROKE                //描边//FILL                  //填充//FILL_AND_STROKE       //描边加填充//设置画笔模式mPaint.setStyle(mod);//设置画笔宽度为 size pxmPaint.setStrokeWidth(size);}

Android 圆形进度条相关推荐

  1. android椭圆进度,Android 圆形进度条

    可设置 线性渐变-背景色-进度条颜色-圆弧宽度 效果图 普通效果.png 渐变效果 改变弧度效果 步骤一:新建自定义控件CirclePercentView继承View(代码可直接复制使用) impor ...

  2. 超简单的Android圆形进度条

    效果图: 代码优化/简化.教科书级别注释.复制粘贴即可用 代码: package com.zistone.factorytest0718.view;import android.content.Con ...

  3. android圆形进度条

    一.简介 1.本篇博文给大家介绍一个圆形进度条控件的绘制,首先看一下效果,如下:当点击圆形按钮时,开始加载条,当松开时,进度条回归其实位置: 二.结构分析 为了达到以上效果,我们首先要清楚改控件的结构 ...

  4. android 圆形拖动条,Android圆形进度条自定义

    自定义圆形进度条 示例.png 示例 (2).png 示例 (3).png 示例 (4).png 实现 override fun onSizeChanged(w: Int, h: Int, oldw: ...

  5. android圆形进度条ProgressBar颜色设置

    原帖地址:http://www.apkbus.com/android-19012-1-1.html xml布局文件需加入如下的进度条构件: Java代码 <ProgressBar android ...

  6. android圆环进度条动画,Android 圆形进度条,类似一些计步软件的进度显示!

    Android 圆形的进度条,类似于一些计步的进度显示.其实也是我们项目中的效果,只不过后来迭代中改进了,所以现在才拿出来.浏览更多安卓源码 usage android:id="@+id/a ...

  7. Android圆形进度条动画

    说明: 分析了一个git项目:https://github.com/youmu178/ArcProgressBar 效果图: 关键代码: 调用MainActivity.java mArcProgres ...

  8. Android圆形进度条,显示百分比

    自定义View在我心中一直属于比较难的范围,但是别人能写为什么我写不出来呢,所以静下心来,根据网上参考,自己写了一个比较普遍的圆环百分数的View,经分析(本Demo)主要核心就一个线程,定时刷新界面 ...

  9. 自定义绘制圆形进度条

    自定义圆形进度条 Android 圆形进度条控件 demo示例 1.定义 attrs.xml <?xml version="1.0" encoding="utf-8 ...

  10. Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

    Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

最新文章

  1. CodeForces - 985F Isomorphic Strings
  2. ssl1236-逃亡准备【dp之多重背包】
  3. IM云将给在线教育带来哪些变革?
  4. 【简洁代码】1053 住房空置率 (20分)_22行代码AC
  5. 树状数组入门(有被精简的树状数组所震撼到)
  6. 银江股份:全面布局持续并购打造智慧城市生态圈
  7. Maya2011下载 (破解正式版)
  8. 山东理工大学ACM平台题答案关于C语言 1228 两数组最短距离
  9. 闲聊linux中的input设备(4) 她一直默默地在背后支持着你
  10. macOS下不支持双面打印功能的惠普打印机如何进行手动双面打印
  11. web网页设计期末课程大作业——汉中印象旅游景点介绍网页设计与实现19页面HTML+CSS+JavaScript
  12. 计算机主板设计方案,解决方案:计算机主板每个组件的详细图示
  13. wine葡萄酒数据集KNNSVM分类实验
  14. 阿里2020.4.1实习笔试题——攻击怪兽
  15. LeetCode - #65 有效数字
  16. 「技术综述」人脸妆造迁移核心技术总结
  17. 一天进步一点点 LDAP协议和AD的概念
  18. C/C++ 大公司笔试题(一)
  19. 品质咖啡生活追求——Barsetto百胜图咖啡
  20. golang实现的商城

热门文章

  1. Android Hook框架adbi的分析(3)---编译和inline Hook实践
  2. SAPscript Forms 教程
  3. ac3165无线网卡驱动linux,英特尔ac3165驱动下载
  4. Excel在数据分析和日常工作的运用
  5. WebSocket之GoEasy框架
  6. 想做电商产品经理你先要学会这几件事
  7. 轮询、长轮询、长连接、websocket
  8. 如何使用万能地图下载器下载80坐标的等高线
  9. 生信技能树 WES分析教程学习(1)conda安装软件,配置环境
  10. 医疗行业GSP过检利器—医疗器械GSP管理系统