android 进度条
在之前实现自己定义进度条的时候。基本上都是使用ImageView来实现的,见
假设仅仅设置background。那么调整好的图片就会在圆圈中心。
![](//img-blog.csdn.net/20140603104037046)
![](//img-blog.csdn.net/20140603104042515)
Android 用Animation-list实现逐帧动画。近期一段时间看到APP的进度条非常多都是ProgressBar然后圆圈里面是一张图片,所以就查看了一下ProgressBar的使用。
1、动画实现
定义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/load_1" /> <item android:duration="150" android:drawable="@drawable/load_3" /> <item android:duration="150" android:drawable="@drawable/load_5" /> <item android:duration="150" android:drawable="@drawable/load_7" /> <item android:duration="150" android:drawable="@drawable/load_9" /> <item android:duration="150" android:drawable="@drawable/load_11" /> <item android:duration="150" android:drawable="@drawable/load_13" /> <item android:duration="150" android:drawable="@drawable/load_15" /> </animation-list>
2、自己定义颜色实现
定义res/drawable/progress.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="#FFFFDC35" android:centerY="0.50" android:endColor="#FFCE0000" android:startColor="#FFFFFFFF" android:type="sweep" android:useLevel="false" /> </shape> </rotate>
3、一张图片
定义res/drawable/progress_small.xml。比如:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateDrawable="@drawable/progress_small"/>
<?xml version="1.0" encoding="utf-8"?
> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:drawable="@drawable/dialog_progress_round" android:fromDegrees="0.0" android:toDegrees="360.0" android:pivotX="50.0%" android:pivotY="50.0%" /> </item> </layer-list>
4、设置背景
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/load_1" />
假设仅仅设置background。那么调整好的图片就会在圆圈中心。