两种实现方式,如下。
1 使用AnimationDrawable实现
布局xml:
<Button
android:id="@+id/startloading_txv"
android:layout_width="120dp"
android:layout_height="70dp"
android:textSize="30sp"
android:text="点击"/>
<TextView
android:id="@+id/loading_txv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/startloading_txv"
android:layout_marginTop="50dp"
android:background="@anim/loading"/>
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="100"
android:drawable="@drawable/loading1"/>
<item
android:duration="100"
android:drawable="@drawable/loading2"/>
<item
android:duration="100"
android:drawable="@drawable/loading3"/>
<item
android:duration="100"
android:drawable="@drawable/loading4"/>
<item
android:duration="100"
android:drawable="@drawable/loading5"/>
<item
android:duration="100"
android:drawable="@drawable/loading6"/>
<item
android:duration="100"
android:drawable="@drawable/loading7"/>
<item
android:duration="100"
android:drawable="@drawable/loading8"/>
</animation-list>
代码:
Button startBtnTxv = (Button) findViewById(R.id.startloading_txv);
final TextView loadingTxv = (TextView) findViewById(R.id.loading_txv);
startBtnTxv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AnimationDrawable loadingDw = ((AnimationDrawable)loadingTxv.getBackground());
if(loadingDw.isRunning()){
loadingDw.stop();
}else{
loadingDw.start();
}
}
});
2 ProgressBar实现
布局xml:
<ProgressBar
android:id="@+id/loading"
style="@style/loading_small"
android:layout_gravity="center"
android:visibility="gone" />
代码:
显示或者隐藏ProgressBar。