溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android 采用工廠類創(chuàng)建對話框

發(fā)布時間:2020-07-05 00:38:34 來源:網(wǎng)絡(luò) 閱讀:574 作者:FergusJ 欄目:移動開發(fā)






代碼復(fù)用很重要!對話框除了內(nèi)容不同外,顯示樣式相同,我們就要建立一個工廠類。

public class DialogFactory {

	public static Dialog creatRequestDialog(final Context context, String tip) {

		final Dialog dialog = new Dialog(context, R.style.dialog);
		dialog.setContentView(R.layout.dialog_layout);
		Window window = dialog.getWindow();
		WindowManager.LayoutParams lp = window.getAttributes();
		int width = Utils.getScreenWidth(context);
		lp.width = (int) (0.6 * width);

		TextView titleTxtv = (TextView) dialog.findViewById(R.id.tvLoad);
		if (tip == null || tip.length() == 0) {
			titleTxtv.setText("正在發(fā)送請求");
		} else {
			titleTxtv.setText(tip);
		}

		return dialog;
	}
}


調(diào)用方法:

private Dialog mDialog = null;
    private void showRequestDialog() {
	if (mDialog != null) {
	    mDialog.dismiss();
	    mDialog = null;
	}
	mDialog = DialogFactory.creatRequestDialog(this, "正在驗證賬號...");
	mDialog.show();
    }


values文件夾中style.xml

  <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsFloating">true</item>
        <!-- 設(shè)置未浮動窗口 -->
        <item name="android:windowFrame">@null</item>
        <!-- 設(shè)置無邊框 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 設(shè)置無標(biāo)題 -->
        <item name="android:windowBackground">@color/sc_transparent_background</item>
        <!-- 設(shè)置完全透明 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 設(shè)置屏幕變暗 -->
    </style>








向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI