Android很方便的遮罩層(使用於載入資料,網路連線時使用)

2020-09-27 08:00:53

最近在做Android的時候,發現一個很嚴重的問題,在做登入,或者是網路請求資料載入頁面的時候,介面一動不動的像死卡死了一樣體驗感非常不好,這時候我就想到了網頁的那些載入層遮罩層的,就找啊找,終於讓我找到了一個方便的,程式碼非常少的簡潔的遮罩層。
效果圖如下:
在這裡插入圖片描述

再次強調,程式碼是非常的少的 我也直接封裝好了的
程式碼:


import android.app.Activity;
import android.app.ProgressDialog;

public class MaskUtil {
 
    /**
     * 遮罩層
     * @param message 遮罩層的文字顯示
     * @param mActivity 使用的activity
     */
    public static ProgressDialog showProgressDialog(String message, Activity mActivity) {
    	ProgressDialog mProgressDialog = null;
        if (mProgressDialog == null) {
            mProgressDialog = new ProgressDialog(mActivity);
            mProgressDialog.setCanceledOnTouchOutside(false);
            mProgressDialog.setCancelable(false);
        }
        mProgressDialog.setMessage(message);
        if (!mProgressDialog.isShowing()) {
            mProgressDialog.show();
        }
        return mProgressDialog;
    }
}

使用方式:

//就是這樣一句程式碼就可以了 
 private ProgressDialog progressDialog;
 //顯示遮罩層
progressDialog = MaskUtil.showProgressDialog("登入中",mContextActivity);
//最後是放在全域性變數中,非常方便

//關閉遮罩層
progressDialog.dismiss();