※效果

※简介

显示进度的按钮,可用于数据的提交,系统登录等,动画效果很棒,提高用户体验。

※使用说明

Declare button inside your layout XML file:

<com.dd.CircularProgressButtonandroid:id="@+id/btnWithText"android:layout_width="196dp"android:layout_height="64dp"android:layout_marginTop="16dp"android:textColor="@color/white"android:textSize="18sp"app:textComplete="@string/Complete"app:textError="@string/Error"app:textIdle="@string/Upload" />

Button state depends on progress:

  • normal state [0]
  • progress state [1-99]
  • success state [100]
  • error state [-1]

To change progress use CircularProgressButton.setProgress(int value) method.

Idle state

CircularProgressButton.setProgress(0)

  • To change text app:textIdle="@string/Upload"
  • To change background color app:colorIdle="@color/green"

Progress state 1

CircularProgressButton.setProgress(1) will automatically morph button from idle (square shape) state to progress (circle shape) state.

  • To change indicator color app:colorIndicator="@color/blue"
  • To change indicator background color app:colorIndicatorBackground="@color/grey"
  • To change circle background color app:colorProgress="@color/white"

Progress state 50

CircularProgressButton.setProgress(50)

Complete state 100

CircularProgressButton.setProgress(-1)

  • To change text app:textError="@string/Error"
  • To change background color app:colorError="@color/red"

Error state -1

CircularProgressButton.setProgress(-1)

  • To change text app:textComplete="@string/Complete"
  • To change background color app:colorComplete="@color/green"

You can set rounded corners

app:cornerRadius="48dp"

You can use icons for complete & error states

app:iconComplete="@drawable/ic_action_accept"

app:iconError="@drawable/ic_action_cancel"

※代码

1.按钮的几种状态

  • 初始状态 [0]
  • 加载中 [1-99]
  • 加载成功 [100]
  • 加载失败 [-1]

通过调用此方法改变 CircularProgressButton.setProgress(int value)

2.修改进度条样式

  • 修改加载进度的颜色 app:colorIndicator="@color/blue"
  • 修改加载进度的背景色 app:colorIndicatorBackground="@color/grey"
  • 修改中间圆形的颜色 app:colorProgress="@color/white"

3.其他属性

  • 失败时的文字 app:textError="@string/Error"
  • 失败时的背景色 app:colorError="@color/red"
  • 成功时的文字 app:textComplete="@string/Complete"
  • 成功时的背景色 app:colorComplete="@color/green"
  • 设置按钮圆角 app:cornerRadius="48dp"
  • 设置成功时的图标 app:iconComplete="@drawable/ic_action_accept"
  • 设置失败时的图标 app:iconError="@drawable/ic_action_cancel"

※注意事项

一行放置一个以上的按钮时需要注意一下,因为按钮点击后变为进度框时视图的宽度要发生改变,所以位置可能发生变化,需要注意下你的布局,可以放到按比例分开的线性布局,或放相对布局中定义宽度让它始终居中

※常见错误

http://blog.csdn.net/linglongxin24/article/details/38057501

※项目地址

https://github.com/dmytrodanylyk/circular-progress-button

※DEMO下载地址

http://download.csdn.net/detail/u010785585/7666287

※楼主博客

http://blog.csdn.net/linglongxin24    (这里会稍早些更新,还会定时更新些平时的一些开发技巧)

Android 实现环形进度按钮circular-progress-button相关推荐

  1. android绘制环形进度_Android实现环形进度条代码

    先上效果图: 自定义控件:AttendanceProgressBar 代码如下: public class AttendanceProgressBar extends View { // 画圆环底部的 ...

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

    这篇文章主要介绍了Android动态自定义圆形进度条,需要的朋友可以参考下 效果图: A.绘制圆环,圆弧,文本 //1.画圆环 //原点坐标 float circleX = width / 2; fl ...

  3. android绘制环形进度_Android使用Canvas绘制圆形进度条效果

    前言 Android自定义控件经常会用到Canvas绘制2D图形,在优化自己自定义控件技能之前,必须熟练掌握Canvas绘图机制.本文从以下三个方面对Canvas绘图机制进行讲解: 画布Canvas ...

  4. android绘制环形进度_android 圆环进度view

    classRoundProgressBar : View {private val paint =Paint() var max= 100 //最大进度 var progress = 0 //当前进度 ...

  5. 【android】环形进度条实现

    先上效果图(压缩尺寸后出现锯齿,原图边缘很细腻的喂~) 特性: 1:支持环形带字 .环形不带字(中间盖上圆形图片,实现天天动听播放器在通知栏播放进度的效果).实心 2:线程安全,不需要写handler ...

  6. android canvas_Android 自定义View篇(七)实现环形进度条效果

    前言 Android 自定义 View 是高级进阶不可或缺的内容,日常工作中,经常会遇到产品.UI 设计出花里胡哨的界面.当系统自带的控件不能满足开发需求时,就只能自己动手撸一个效果. 本文就带自定义 ...

  7. Android花样loading进度条(四)-渐变色环形进度条

    背景 Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平.圆形.环形.圆弧形.不规则形状等. 本篇我们对配文字环形进度条稍加变换,将圆环颜色改为渐变色的形式,使得进 ...

  8. Android花样loading进度条(二)-简单环形进度条

    背景 Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平.圆形.环形.圆弧形.不规则形状等. 本篇我们从圆形进度条讲起,讲简单形式的环形进度条,只有进度色彩,没有进 ...

  9. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

最新文章

  1. Unity钢铁以及玻璃材质的选择
  2. quartz-misfire 错失、补偿执行
  3. 面试:Handler 的工作原理是怎样的?
  4. Codewars-(RegEx去除html标签)
  5. faster rcnn fpn_Faster-RCNN详解和torchvision源码解读(三):特征提取
  6. 程序状态字寄存器PSW
  7. 祝福 Stephan Ewen,Apache Flink 将继续前行 !
  8. 防御病毒邮件得看U-Mail邮件网关
  9. MRP里如何预测lead time :Approaches for the Prediction of Lead Times in an Engineer to Order Environment
  10. 【1401】机器翻译
  11. 华为交换机console口密码配置
  12. OneNote for Windows10 闪退 的解决办法
  13. 命令控制之Telegram
  14. \n和endl的区别
  15. IO流---基础 (附相对路径)
  16. 内存卡数据删除了怎么恢复?sd卡数据恢复,3个步骤找回
  17. 标准模板库STL(Standard Template Library)
  18. cpu导热膏安装_我应该在CPU上涂抹多少导热膏?
  19. 树状数组及线段树入门(SDNU1665-1668)
  20. python微信公众号翻译功能_使用python在SAE上搭建一个微信应用,使用有道翻译的api进行在线翻译...

热门文章

  1. 让我思潮翻滚的IBM面试内容
  2. 数据库课程设计个人总结报告
  3. Emacs之ido-mode笔记
  4. POJ 3131 Cubic Eight-Puzzle
  5. 干货!3步,新手快速扒网站图片,仿站必备
  6. 朋友圈九宫格照片怎么做?一键图片分割
  7. Linux系统编程【文件IO、进程、进程间通信、信号、线程、互斥】
  8. 计算机暑期学校心得体会,暑期学习心得体会
  9. 如何测试Linux是否可以顺利运行2D、3D软件
  10. FBEC大会 | 全球元宇宙CEO峰会演讲干货汇总