CircleProgressBar

项目地址:AlexMofer/CircleProgressBar

带载入动画的环形进度条,可高度配置,支持配置成表盘。

预览

 

要求

minSdkVersion 11

引用

dependencies {⋯compile 'am.widget:circleprogressbar:1.0.2'⋯
}

使用

  • 布局样例
<am.widget.circleprogressbar.CircleProgressBarandroid:layout_width="match_parent"android:layout_height="480dp"app:cpbGravity="center"app:cpbRadius="160dp"app:cpbStartAngle="135"app:cpbSweepAngle="270"app:cpbBackgroundSize="2dp"app:cpbBackgroundColor="@color/colorPrimary"app:cpbProgressSize="20dp"app:cpbMax="810"app:cpbProgress="315"app:cpbFirstGradientColors="#ff33b5e5"app:cpbSecondGradientColors="#ff99cc00"app:cpbThirdGradientColors="#ffffbb33"app:cpbFourthGradientColors="#ffff4444"app:cpbDialGap="4dp"app:cpbDialAngle="5"app:cpbDialHeight="10dp"app:cpbDialWidth="2dp"app:cpbDialColor="@color/colorPrimary"app:cpbDialSpecialUnit="3"app:cpbDialSpecialHeight="15dp"app:cpbDialSpecialColor="@color/colorAccent"app:cpbShowSpecialDialValue="true"app:cpbSpecialDialValueGap="2dp"app:cpbSpecialDialValueTextSize="12sp"app:cpbSpecialDialValueTextColor="#ff99cc00"app:cpbShowProgressValue="true"app:cpbProgressValueTextSize="72sp"app:cpbProgressValueTextColor="#ff33b5e5"app:cpbTopText="速度"app:cpbTopTextSize="20sp"app:cpbTopTextGap="10dp"app:cpbTopTextColor="@color/colorPrimary"app:cpbBottomText="km/s"app:cpbBottomTextSize="16sp"app:cpbBottomTextGap="15dp"app:cpbBottomTextColor="#ffffbb33"app:cpbScaleType="None"app:cpbProgressDuration="2000"app:cpbProgressMode="Loading"app:cpbLoadingDuration="3000"app:cpbLoadingRepeatMode="Reverse"app:cpbLoadingDrawOther="true"app:cpbLoadingText="载入"/>
  • 代码样例
CircleProgressBar cpbDemo = (CircleProgressBar) findViewById(R.id.circleprogressbar_cpb_demo);
cpbDemo.setStartAngle(-90);
cpbDemo.setSweepAngle(360);
cpbDemo.setGradientColors(0xffff4444);
cpbDemo.setBackgroundSize(0);
cpbDemo.setProgress(520);
cpbDemo.setProgressSize(64);
cpbDemo.setDialVisibility(View.GONE);
cpbDemo.setProgressMode(CircleProgressBar.ProgressMode.PROGRESS);
cpbDemo.setShowProgressValue(true);
cpbDemo.setTopText("步数");
cpbDemo.setBottomText(null);

属性说明

xml布局属性 属性值 对应方法 说明
cpbGravity 给定值及组合 setGravity(int gravity) 设置排版方式,当高宽超过绘制所需尺寸时,此属性定义其绘制位置
cpbRadius dimension setRadius(float radius) 设置环形半径,其包括了绘制的进度的尺寸
cpbStartAngle integer setStartAngle(int angle) 设置起始角度
cpbSweepAngle integer setSweepAngle(int angle) 设置扫描角度
cpbBackgroundSize dimension setBackgroundSize(float size) 设置背景尺寸
cpbBackgroundColor color setBackgroundColor(int color) 设置背景颜色
cpbProgressSize dimension setProgressSize(float size) 设置环形尺寸
cpbMax integer setMax(int max) 设置最大值
cpbProgress integer setProgress(int progress) 设置进度
cpbFirstGradientColors color setGradientColors(int... colors) 设置渐变色
cpbSecondGradientColors color setGradientColors(int... colors) 设置渐变色
cpbThirdGradientColors color setGradientColors(int... colors) 设置渐变色
cpbFourthGradientColors color setGradientColors(int... colors) 设置渐变色
cpbFirstGradientPositions float setGradientPositions(float... positions) 设置渐变点
cpbSecondGradientPositions float setGradientPositions(float... positions) 设置渐变点
cpbThirdGradientPositions float setGradientPositions(float... positions) 设置渐变点
cpbFourthGradientPositions float setGradientPositions(float... positions) 设置渐变点
cpbDialVisibility visible、invisible、gone setDialVisibility(int visibility) 设置刻度表盘是否显示
cpbDialGap dimension setDialGap(float gap) 设置刻度间隔
cpbDialAngle integer setDialAngle(int angle) 设置刻度角度
cpbDialHeight dimension setDialHeight(float height) 设置刻度高
cpbDialWidth dimension setDialWidth(float width) 设置刻度宽
cpbDialColor color setDialColor(int color) 设置刻度颜色
cpbDialSpecialUnit integer setDialSpecialUnit(int unit) 设置特殊刻度之间间隔,单位以普通刻度为参考,设置为2时,第1个普通刻度、第3个普通刻度等每隔一个普通刻度都变为特殊刻度
cpbDialSpecialHeight dimension setDialSpecialHeight(float height) 设置特殊刻度的高
cpbDialSpecialWidth dimension setDialSpecialWidth(float width) 设置特殊刻度的宽
cpbDialSpecialColor color setDialSpecialColor(int color) 设置特殊刻度颜色
cpbDialGravity Center、Top、Bottom setDialGravity(int gravity) 设置长短刻度的对齐方式
cpbShowSpecialDialValue boolean setShowSpecialDialValue(boolean show) 设置是否显示特殊刻度值
cpbSpecialDialValueGap dimension setSpecialDialValueGap(float gap) 设置特殊刻度值间距
cpbSpecialDialValueTextSize dimension setSpecialDialValueTextSize(float textSize) 设置特殊刻度值文字大小
cpbSpecialDialValueTextColor color setSpecialDialValueTextColor(int color) 设置特殊刻度值文字颜色
cpbShowProgressValue boolean setShowProgressValue(boolean show) 设置是否显示进度值
cpbProgressValueTextSize dimension setProgressValueTextSize(float textSize) 设置进度值文字
cpbProgressValueTextColor color setProgressValueTextColor(int color) 设置进度值文字颜色
cpbTopText string setTopText(String text) 设置进度值顶部文字
cpbTopTextGap dimension setTopTextGap(float gap) 设置进度值顶部文字间隔
cpbTopTextSize dimension setTopTextSize(float textSize) 设置进度值顶部文字大小
cpbTopTextColor color setTopTextColor(int color) 设置进度值顶部文字颜色
cpbBottomText string setBottomText(String text) 设置进度值底部文字
cpbBottomTextGap dimension setBottomTextGap(float gap) 设置进度值底部文字间隔
cpbBottomTextSize dimension setBottomTextSize(float textSize) 设置进度值底部文字大小
cpbBottomTextColor color setBottomTextColor(int color) 设置进度值底部文字颜色
cpbScaleType 给定值及组合 setScaleType(int scaleType) 设置缩放类型
cpbProgressDuration integer setProgressDuration(long duration) 设置进度动画时长,下次动画才有效
cpbProgressMode Progress、Loading setProgressMode(ProgressMode mode) 设置进度模式
cpbLoadingStartAngle integer setLoadingStartAngle(int angle) 设置载入起始角度
cpbLoadingSweepAngle integer setLoadingSweepAngle(int angle) 设置载入扫描角度
cpbLoadingDuration integer setLoadingDuration(long duration) 设置载入动画循环时长
cpbLoadingRepeatMode Restart、Reverse setLoadingRepeatMode(int mode) 设置载入动画循环模式
cpbLoadingDrawOther boolean setLoadingDrawOther(boolean draw) 载入模式下是否绘制其他元素
cpbLoadingText string setLoadingText(String text) 设置载入时进度文字

CircleProgressBar 带载入动画的环形进度条相关推荐

  1. 用emWin的2D绘图函数画一个带圆形端点的环形进度条

    先上效果图,首先是顺时针转: 然后是逆时针转: 大概讲一下思路吧,首先讲一下顺时针是怎么弄的,很简单. 画圆弧函数GUI_DrawArc有起始角度a0和终止角度a1两个参数,且a0必须小于a1否则无法 ...

  2. js svg语音波动动画_SVG实现环形进度条的原理

    之前在项目中遇到一个环形进度条的需求,要求能实时更新进度,脑海中瞬间便蹦出css,svg,canvas3中方案,对于3种方案个人更偏向于svg,用法简单,代码量也很少,同时也便于实时控制.具体效果如下 ...

  3. 微信小程序 环形进度条_微信小程序实现圆形进度条动画

    本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下 上图: 代码: js: //获取应用实例 var app = getApp() var interval; var varNa ...

  4. 【WPF】环形进度条

    WPF中自带有长条形的进度条,大部分场景都算适用,但是仍然有一部分空间小的场景不太合适,此时我们想到安卓上常用的环形进度条,美观,又不占空间. 那么WPF中的环形进度条控件在哪呢? 很遗憾,自带组件中 ...

  5. echarts实现环形进度条

    效果图 实现代码 可直接复制运行: <!DOCTYPE html> <html><head><meta charset="UTF-8"&g ...

  6. OpenGL with QtWidgets:练习之绘制2D环形进度条

    1.实现思路 这里主要涉及几个点:绘制圆环,绘制文字,动画,抗锯齿. 绘制圆环网上有些人是计算好圆边的顶点后传入的,我这里直接在片段着色器里根据距离圆心的距离来渲染的圆环. void main() { ...

  7. canvas实现半圆环形进度条

    html部分 <canvas id="canvas" width="150" height="150"><p>抱歉, ...

  8. WPF利用动画实现圆形进度条

    WPF利用动画实现圆形进度条 原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现 ...

  9. [Swift通天遁地]一、超级工具-(2)制作美观大方的环形进度条

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

最新文章

  1. php redis 安装和使用
  2. 一次订单号重复引起的事故,可把我给坑惨了!
  3. 墨瞳漫画h5一期 vuejs总结
  4. linux 下如何安装php,详解在Linux下如何安装配置PHP
  5. 动态数组vector
  6. android 获取sd卡目录失败_树莓派对SD卡的大小,速度有哪些要求?
  7. centos ping不通百度 ping不通外网
  8. Windows Server 2008 故障转移群集简介
  9. 超详细的jenkins持续集成工作原理、功能、部署方式等介绍
  10. java telnet 交换机_华为交换机 telnet 配置(极简版)
  11. python docx 合并文档 图片_使用python抓取大量简历文档内数据(word:docx;pdf;图片等)输出表格文件...
  12. Libmicrohttpd简介
  13. 在IDEA中玩转DEBUG模式,有BUG不会调试?不存在的。
  14. [Verilog]4 选 1 数据选择器
  15. 哈理工oj 1677
  16. Ubuntu18.04 自带桌面共享配置
  17. http是什么,其实很简单
  18. Excel 2013 查找和替换单元格内换行回车
  19. Python:实现euclidean distance欧式距离算法(附完整源码)
  20. MySQL数据库删除大量数据的方式

热门文章

  1. 天喻信息上市前陷股权纠纷 法院已立案
  2. Android 自有App内部跳转到微信小程序的方法
  3. 敏捷开发:5种主流开发方法介绍
  4. 电脑不能正常连接网络常见问题解决方法
  5. Java-如何解决多线程当中共享资源的冲突问题
  6. LQ0213 兰顿蚂蚁【模拟】
  7. 江浙沪的java春招实习综合面经
  8. 1、【WebGIS实战】系列介绍
  9. Excel 电子表格运用技巧汇总
  10. 距离度量对传统萤火虫算法开发特性和收敛行为的性能分析(Matlab代码实现)