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

原创 2012年03月29日 22:02:57


一、通过动画实现

定义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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android简单自定义圆形和水平ProgressBar

ProgressBar
  • mad1989
  • mad1989
  • 2014年07月22日 16:29
  • 159829

Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)

很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如o...

Android ProgressBar详解以及自定义

版本:1.0日期:2014.5.16版权:© 2014 kince 转载注明出处  这一次主要说一下Android下的进度条,为什么是它呢,因为近期被其各种美轮美奂的设计所倾倒,计划逐渐去实现。另外一...

android中progressbar

学习下!以后作为参考资料!! 普通圆形ProgressBar     该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。 一般只要...

Android控件--ProgressBar

1、简介ProgressBar 是进度条组件,通常用于向用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好性。就像我现在进行的 apk 下载的任务,它都是通过...

Android progressBar 自定义

在drawable文件夹中建立如下旋转动画文件     android:drawable="@drawable/loading1"         android:pivotX="50%"   ...

Android ProgressBar 详解 改变 ProgressBar 颜色

今天来说说 ProgressBar   这个东西, 之前一种是用的 项目里面 别人写好的直接用, 还没怎么细看这两个东西 ProgressBar 很简单就一进度条 默认情况下, 他是圆形...

关于ProgressBar的美化问题

Android自带的ProgressBar其实也算不上丑陋,但是如果所有的App都使用一个模式的ProgressBar,那么估计用户就要崩溃了,打开任何一个App,擦,进度条都一模一样。。有鉴于此,我...

Android 原生progressBar使用

作为比较常见的控件,经常需要针对项目对其进行一定程度的定制和修改,当然一些较大程度的定制和修改都是基于自定义View进行绘制的,但是一些改动较小的地方便可以使用Android原生progressbar...
  • ccw0054
  • ccw0054
  • 2017年03月30日 16:16
  • 665

Android 基础教程之-------Android ProgressBar的使用!

大家好,今天给大家讲一下Android中ProgressBar的使用,这个控件在开发中还是经常用到的,比如用户浏览网页的时候,中间有个肯定传输过程,所以用进度条让用户耐心等待。再比如我在Android...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android进度条】三种方式实现自定义圆形进度条ProgressBar
举报原因:
原因补充:

(最多只允许输入30个字)