第一種:AnimationDrawable實現幀動畫
private ImageView loading;
loading = (ImageView)findViewById(R.id.welcomeLoading);
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
loading.setBackgroundResource(R.drawable.animatior_list);
AnimationDrawable ad = (AnimationDrawable)loading.getBackground();
ad.start();
super.onWindowFocusChanged(hasFocus);
}
上面的animatior_list.xml如下:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
android:oneshot="false">
<item android:drawable="@drawable/spinner_small_01_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_02_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_03_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_04_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_05_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_06_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_07_black" android:duration="200" />
<item android:drawable="@drawable/spinner_small_08_black" android:duration="200" />
</animation-list>
第二種:ProgressBar實現
<ProgressBar android:id="@+id/goLoad"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:indeterminateDrawable="@drawable/load_progressbar"/>
load_progressbar.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="360">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#000000" android:centerColor="#394D63"
android:centerY="0.50" android:endColor="#6F9BC9" />
</shape>
</rotate>
或者
<ProgressBar android:id="@+id/pb_download"
android:layout_width="wrap_content" android:layout_height="wrap_content"
style="@style/circle_progress" />
<style name="circle_progress" parent="@android:style/Widget.ProgressBar">
<item name="android:indeterminateDrawable">@drawable/ic_progress</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate android:drawable="@drawable/ic_progress_normal"
android:fromDegrees="-315.0" android:toDegrees="0.0" android:pivotX="50.0%"
android:pivotY="50.0%" />
</item>
</layer-list>