【Android进度条】三种方式实现自定义圆形进度条ProgressBar
2024-10-20 08:37:05
一、通过动画实现
定义res/anim/loading.xml如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <animation-list android:oneshot="false"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:duration="150" android:drawable="@drawable/loading_01" />
- <item android:duration="150" android:drawable="@drawable/loading_02" />
- <item android:duration="150" android:drawable="@drawable/loading_03" />
- <item android:duration="150" android:drawable="@drawable/loading_04" />
- <item android:duration="150" android:drawable="@drawable/loading_05" />
- <item android:duration="150" android:drawable="@drawable/loading_06" />
- <item android:duration="150" android:drawable="@drawable/loading_07" />
- </animation-list>
二、通过自定义颜色实现
定义res/drawable/progress_small.xml如下:
- <?xml version="1.0" encoding="utf-8"?>
- <rotate xmlns:android="http://schemas.android.com/apk/res/android"
- android:fromDegrees="0"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toDegrees="360" >
- <shape
- android:innerRadiusRatio="3"
- android:shape="ring"
- android:thicknessRatio="8"
- android:useLevel="false" >
- <gradient
- android:centerColor="#FFFFFF"
- android:centerY="0.50"
- android:endColor="#1E90FF"
- android:startColor="#000000"
- android:type="sweep"
- android:useLevel="false" />
- </shape>
- </rotate>
三、使用一张图片进行自定义
定义res/drawable/progress_small.xml如下:
- <rotate xmlns:android="http://schemas.android.com/apk/res/android"
- android:drawable="@drawable/spinner_black_16"
- android:pivotX="50%"
- android:pivotY="50%"
- android:fromDegrees="0"
- android:toDegrees="360" />
使用方法都一样, 如下:
- <ProgressBar
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:indeterminateDrawable="@drawable/progress_small"/>
也可以根据需要通过设置style来设置其大小! 一般只有使用默认的ProgrressBar的时候采用。对于上述三种自定义的方式,建议修改直接修改图片大小,或者shape;
- <ProgressBar
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- style="?android:attr/progressBarStyleSmall"
- android:indeterminateDrawable="@drawable/progress_small"/>
设置成progressBarStyleSmall后,图标变小。
设置成progressBarStyleLarge后,图标变大
参考: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872
最新文章
- 前端进阶试题(css部分)
- 关闭SELinux和iptables防火墙
- URL组分
- XIII Open Cup named after E.V. Pankratiev. GP of Saratov
- Count Primes - LeetCode
- JAVA 多线程编程之一(基础)
- centos增加网卡
- 基于XMPP的即时通信系统的建立(三)— 程序设计概览
- BZOJ 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- python正则实例
- codevs4373 窗口
- SQL_substr功能测试
- CloudFoundry.yml修订
- higncharts 编辑Highcharts.com链接
- 关于老版本ubuntu源不能用的问题
- 用控制台命令拉取git最新仓库代码
- echarts_部分图表配置_堆叠折线图
- 读书笔记《CSS权威指南》
- SpringMVC中Json数据格式转换
- Mybatis_4.接口类和XML同时使用
热门文章
- PHPTaint-检测xss/sqli/shell注入的php扩展模块[转]
- Ubuntu 16.04安装JDK7/JDK8的两种方式
- xtu summer individual 1 A - An interesting mobile game
- NYOJ-676小明的求助,快速幂求模,快速幂核心代码;
- 【BZOJ3295】动态逆序对(BIT套动态加点线段树)
- BZOJ1698: [Usaco2007 Feb]Lilypad Pond 荷叶池塘
- App竞品技术分析 (3)减小安装包的体积(转)
- HDU1533 最小费用最大流
- 2015轻院校赛 D 社交网络(排列组合)
- [Bzoj4566][Haoi2016]找相同字符(广义后缀自动机)