一、通过动画实现

定义res/anim/loading.xml如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <animation-list android:oneshot="false"
  3. xmlns:android="http://schemas.android.com/apk/res/android">
  4. <item android:duration="150" android:drawable="@drawable/loading_01" />
  5. <item android:duration="150" android:drawable="@drawable/loading_02" />
  6. <item android:duration="150" android:drawable="@drawable/loading_03" />
  7. <item android:duration="150" android:drawable="@drawable/loading_04" />
  8. <item android:duration="150" android:drawable="@drawable/loading_05" />
  9. <item android:duration="150" android:drawable="@drawable/loading_06" />
  10. <item android:duration="150" android:drawable="@drawable/loading_07" />
  11. </animation-list>

二、通过自定义颜色实现

定义res/drawable/progress_small.xml如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:fromDegrees="0"
  4. android:pivotX="50%"
  5. android:pivotY="50%"
  6. android:toDegrees="360" >
  7. <shape
  8. android:innerRadiusRatio="3"
  9. android:shape="ring"
  10. android:thicknessRatio="8"
  11. android:useLevel="false" >
  12. <gradient
  13. android:centerColor="#FFFFFF"
  14. android:centerY="0.50"
  15. android:endColor="#1E90FF"
  16. android:startColor="#000000"
  17. android:type="sweep"
  18. android:useLevel="false" />
  19. </shape>
  20. </rotate>

三、使用一张图片进行自定义
定义res/drawable/progress_small.xml如下:

  1. <rotate xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:drawable="@drawable/spinner_black_16"
  3. android:pivotX="50%"
  4. android:pivotY="50%"
  5. android:fromDegrees="0"
  6. android:toDegrees="360" />

使用方法都一样, 如下:

  1. <ProgressBar
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:indeterminateDrawable="@drawable/progress_small"/>

也可以根据需要通过设置style来设置其大小! 一般只有使用默认的ProgrressBar的时候采用。对于上述三种自定义的方式,建议修改直接修改图片大小,或者shape;

  1. <ProgressBar
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:layout_centerInParent="true"
  5. style="?android:attr/progressBarStyleSmall"
  6. android:indeterminateDrawable="@drawable/progress_small"/>

设置成progressBarStyleSmall后,图标变小。 

设置成progressBarStyleLarge后,图标变大

   

参考: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872

【Android进度条】三种方式实现自定义圆形进度条ProgressBar的更多相关文章

  1. Android 三种方式实现自定义圆形进度条ProgressBar

    一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ...

  2. Android 三种方式实现自定义圆形页面加载中效果的进度条

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如 ...

  3. 【Android 应用开发】 自定义 圆形进度条 组件

    转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...

  4. Android 音视频开发(一) : 通过三种方式绘制图片

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...

  5. Android弹性滑动的三种实现方式

    引言 上一篇文章我们介绍了实现弹性滑动的三种方式,但仅仅是给出了代码片段和方法理论.今天我们结合一个具体的例子来谈一下如何使用这三种方法来实现弹性滑动.今天我们的例子是仿IOS的下拉操作,我们知道An ...

  6. 界面跳转+Android Studio Button事件的三种方式

    今天学习界面跳转 java类总是不能新建成功 看了网上教程 (20条消息) 关于android studio无法创建类或者接口问题的解决方法_qq_39916160的博客-CSDN博客 可以新建了 但 ...

  7. angularjs 自定义服务的三种方式

    angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式: // 定义module , module中注入$providevar ...

  8. android解析XML总结(SAX、Pull、Dom三种方式) <转载>

    android解析XML总结(SAX.Pull.Dom三种方式) http://www.cnblogs.com/JerryWang1991/archive/2012/02/24/2365507.htm ...

  9. Android中WebView的JavaScript代码和本地代码交互的三种方式

    一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...

随机推荐

  1. JS获取粘贴内容

    http://classjs.com/2013/03/05/js%E8%8E%B7%E5%8F%96%E7%B2%98%E8%B4%B4%E5%86%85%E5%AE%B9/ 思路:在编辑环境中,粘贴 ...

  2. AutoItLibrary之键盘操作(send)

    最近有人问到我键盘操作用什么库?用到库里面的哪个方法?我在这里总结一下,第一次写,有片面的地方还请指出,一块进步.1.首先,用到的库是AutoItLibrary,用到的方法是send:按F5可用看到 ...

  3. Flask设计带认证token的RESTful API接口[翻译]

    上一篇文章, 使用python的Flask实现一个RESTful API服务器端  简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问 ...

  4. Flask--Config研究

    导入Flask框架后,在项目跟目录下面会有一个Config.py 文件,里面的默认内容为: class Config(object): pass 可以这Config 类里面定义变量和其他对象 如: c ...

  5. POJ3246-Balanced Lineup,好经典的题,做法和HDU-I hate it 一样~~

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K   Case Time Limit: 2000MS Description For ...

  6. NOIP2013D1T3货车运输(最大生成树+倍增lca)

    传送门 这道题,先用kruskal求一遍图中的最大生成树. 然后,倍增求lca,求lca的同时求出边权的最小值. #include <cstring> #include <cstdi ...

  7. ng-repeat的作用域问题

    ng-repeat会创建一个子作用域,所以在ng-repeat下面要使用参数时,要用$parent.XXXX参数. 示例如下:

  8. MTK GPIO 新增变量配置

    主要涉及的文件: 1.需要配置preloader ,lk ,kernel vendor GPIO_YuSu.cmp文件增加IO别名: 2.需要配置preloader ,lk ,kernel vendo ...

  9. mysql免安装版配置使用

    mysql免安装版配置使用 1.下载解压 2.配置环境变量 变量MYSQL_HOME  = 解压目录 配置变量path 编辑,在后面加上  ;%MYSQL_HOME%\bin 3.修改配置文件 增加或 ...

  10. Copy List with Random Pointer (Hash表)

    A linked list is given such that each node contains an additional random pointer which could point t ...