android loading效果

第一種: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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章