1.使用方法
class{
DialogWaiting dialogWaiting;
//开启等待框
public void showWaitingDialog() {
if (dialog != null && dialog.isShowing()) {
return;
}
dialogWaiting = new DialogWaiting();
dialog = dialogWaiting.showDialog(this);
}
//关闭等待框
public void dismissWaitingDialogIfShowing() {
if (dialogWaiting != null) {
dialogWaiting.dismissDilaog(dialog);
}
}
}
2.封装类DialogWaiting.java
public class DialogWaiting {
public Dialog showDialog(Context context) {
if (context != null) {
final Dialog dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar); dialog.setContentView(R.layout.dialog_waiting);
dialog.show();
return dialog;
}
return null;
}
public void dismissDialog(Dialog dialog) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
dialog.cancel();
}
}
}
3.布局文件dialog_waiting.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@drawable/background_waitdialog_corner"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim_progressbar"
android:indeterminateDuration="500"
android:indeterminateOnly="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/waiting_for" />
</LinearLayout>
</LinearLayout>
4.动画文件anim_progressbar.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/dialog_wait"
android:pivotX="50%"
android:pivotY="50%" />
5.图片资源
6.运行效果图