自定義等待框

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.運行效果圖

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章