CircleProgressBar 带载入动画的环形进度条
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 带载入动画的环形进度条相关推荐
- 用emWin的2D绘图函数画一个带圆形端点的环形进度条
先上效果图,首先是顺时针转: 然后是逆时针转: 大概讲一下思路吧,首先讲一下顺时针是怎么弄的,很简单. 画圆弧函数GUI_DrawArc有起始角度a0和终止角度a1两个参数,且a0必须小于a1否则无法 ...
- js svg语音波动动画_SVG实现环形进度条的原理
之前在项目中遇到一个环形进度条的需求,要求能实时更新进度,脑海中瞬间便蹦出css,svg,canvas3中方案,对于3种方案个人更偏向于svg,用法简单,代码量也很少,同时也便于实时控制.具体效果如下 ...
- 微信小程序 环形进度条_微信小程序实现圆形进度条动画
本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下 上图: 代码: js: //获取应用实例 var app = getApp() var interval; var varNa ...
- 【WPF】环形进度条
WPF中自带有长条形的进度条,大部分场景都算适用,但是仍然有一部分空间小的场景不太合适,此时我们想到安卓上常用的环形进度条,美观,又不占空间. 那么WPF中的环形进度条控件在哪呢? 很遗憾,自带组件中 ...
- echarts实现环形进度条
效果图 实现代码 可直接复制运行: <!DOCTYPE html> <html><head><meta charset="UTF-8"&g ...
- OpenGL with QtWidgets:练习之绘制2D环形进度条
1.实现思路 这里主要涉及几个点:绘制圆环,绘制文字,动画,抗锯齿. 绘制圆环网上有些人是计算好圆边的顶点后传入的,我这里直接在片段着色器里根据距离圆心的距离来渲染的圆环. void main() { ...
- canvas实现半圆环形进度条
html部分 <canvas id="canvas" width="150" height="150"><p>抱歉, ...
- WPF利用动画实现圆形进度条
WPF利用动画实现圆形进度条 原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现 ...
- [Swift通天遁地]一、超级工具-(2)制作美观大方的环形进度条
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
最新文章
- php redis 安装和使用
- 一次订单号重复引起的事故,可把我给坑惨了!
- 墨瞳漫画h5一期 vuejs总结
- linux 下如何安装php,详解在Linux下如何安装配置PHP
- 动态数组vector
- android 获取sd卡目录失败_树莓派对SD卡的大小,速度有哪些要求?
- centos ping不通百度 ping不通外网
- Windows Server 2008 故障转移群集简介
- 超详细的jenkins持续集成工作原理、功能、部署方式等介绍
- java telnet 交换机_华为交换机 telnet 配置(极简版)
- python docx 合并文档 图片_使用python抓取大量简历文档内数据(word:docx;pdf;图片等)输出表格文件...
- Libmicrohttpd简介
- 在IDEA中玩转DEBUG模式,有BUG不会调试?不存在的。
- [Verilog]4 选 1 数据选择器
- 哈理工oj 1677
- Ubuntu18.04 自带桌面共享配置
- http是什么,其实很简单
- Excel 2013 查找和替换单元格内换行回车
- Python:实现euclidean distance欧式距离算法(附完整源码)
- MySQL数据库删除大量数据的方式