自定義ProgressDialog實現幀動畫

//彈出加載中對話框
myProgressDialog=new WjProgressDialog(getActivity());
myProgressDialog.show();

public class WjProgressDialog extends ProgressDialog {

    public WjProgressDialog(Context context) {
        super(context, R.style.CustomProgressDialog);
    }

    public WjProgressDialog(Context context, int theme) {
        super(context, theme);
    }

    @Override
    public void show() {
        super.show();
        setContentView(R.layout.customprogressdialog);
    }

    @Override
    public void dismiss() {
        super.dismiss();
    }
}

R.layout.customprogressdialog

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <ProgressBar
        android:id="@+id/loadingProgress"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:background="@color/transparent"
        android:layout_gravity="center"
        style="?android:progressBarStyleInverse"
        android:indeterminateDrawable="@drawable/refresh_ainm"
        />
    <TextView
        android:id="@+id/loadingMsg"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="數據加載中..."
        android:layout_gravity="center"
        />
</LinearLayout>

refresh_ainm

<?xml version="1.0" encoding="utf-8"?>
<animation-list  xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@mipmap/loading1" android:duration="50"/>
    <item android:drawable="@mipmap/loading2" android:duration="50"/>
    <item android:drawable="@mipmap/loading3" android:duration="50"/>
    <item android:drawable="@mipmap/loading4" android:duration="50"/>
    <item android:drawable="@mipmap/loading5" android:duration="50"/>
    <item android:drawable="@mipmap/loading6" android:duration="50"/>
    <item android:drawable="@mipmap/loading7" android:duration="50"/>
    <item android:drawable="@mipmap/loading8" android:duration="50"/>
    <item android:drawable="@mipmap/loading9" android:duration="50"/>
    <item android:drawable="@mipmap/loading10" android:duration="50"/>
    <item android:drawable="@mipmap/loading11" android:duration="50"/>
    <item android:drawable="@mipmap/loading12" android:duration="50"/>
    <item android:drawable="@mipmap/loading13" android:duration="50"/>
    <item android:drawable="@mipmap/loading14" android:duration="50"/>
    <item android:drawable="@mipmap/loading15" android:duration="50"/>
    <item android:drawable="@mipmap/loading16" android:duration="50"/>
    <item android:drawable="@mipmap/loading17" android:duration="50"/>
    <item android:drawable="@mipmap/loading18" android:duration="50"/>
    <item android:drawable="@mipmap/loading19" android:duration="50"/>
    <item android:drawable="@mipmap/loading20" android:duration="50"/>
    <item android:drawable="@mipmap/loading21" android:duration="50"/>
    <item android:drawable="@mipmap/loading22" android:duration="50"/>
    <item android:drawable="@mipmap/loading23" android:duration="50"/>
    <item android:drawable="@mipmap/loading24" android:duration="50"/>
    <item android:drawable="@mipmap/loading25" android:duration="50"/>
</animation-list>

myProgressDialog.setCancelable(false);//設置進度條是否可以按退回鍵取消
//        設置點擊進度對話框外的區域對話框不消失
myProgressDialog.setCanceledOnTouchOutside(false);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容