Android系统自带的ProgressBar风格不是很好,如果想自己设置风格的话,一般有几种方法。首先介绍一下第一种方法通过动画实现。在res的anim下创建动画资源loading.xml:
1 <?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="false" > 4 5 <item 6 android:drawable="@drawable/common_loading_0" 7 android:duration="100"/> 8 <item 9 android:drawable="@drawable/common_loading_1" 10 android:duration="100"/> 11 <item 12 android:drawable="@drawable/common_loading_2" 13 android:duration="100"/> 14 <item 15 android:drawable="@drawable/common_loading_3" 16 android:duration="100"/> 17 <item 18 android:drawable="@drawable/common_loading_4" 19 android:duration="100"/> 20 <item 21 android:drawable="@drawable/common_loading_5" 22 android:duration="100"/> 23 <item 24 android:drawable="@drawable/common_loading_6" 25 android:duration="100"/> 26 <item 27 android:drawable="@drawable/common_loading_7" 28 android:duration="100"/> 29 <item 30 android:drawable="@drawable/common_loading_8" 31 android:duration="100"/> 32 <item 33 android:drawable="@drawable/common_loading_9" 34 android:duration="100"/> 35 <item 36 android:drawable="@drawable/common_loading_10" 37 android:duration="100"/> 38 <item 39 android:drawable="@drawable/common_loading_11" 40 android:duration="100"/> 41 42 </animation-list>
然后在布局文件中调用即可:
1 <ProgressBar 2 android:layout_width="40dp" 3 android:layout_height="40dp" 4 android:layout_gravity="center_horizontal" 5 android:indeterminate="false" 6 android:indeterminateDrawable="@anim/loading" />
备注:ProgressBar的大小需要按照图片的大小来调整,不然的话效果不是很好。
第二种方法是使用一张图片进行定义。在res的drawable里创建loading.xml文件。
1 <?xml version="1.0" encoding="utf-8"?> 2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 3 4 <item> 5 <rotate 6 android:drawable="@drawable/common_loading" 7 android:fromDegrees="0.0" 8 android:pivotX="50.0%" 9 android:pivotY="50.0%" 10 android:toDegrees="360.0" /> 11 </item> 12 13 </layer-list>
然后在布局文件里调用即可,代码:
1 <ProgressBar 2 android:id="@+id/loading_process_dialog_progressBar" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:indeterminate="false" 6 android:indeterminateDrawable="@drawable/loading" />
备注:这也的方法有个不好的地方是旋转的有点慢,我也没有找到什么方法可以调整它旋转的速度,如果有更好的方法,希望跟我联系一下,QQ:981805903。