對話框開啟時, 會將對話框以外進行灰階半透明處理,
但是有時候, 我們是希望對話框以外的透明度, 按照我們自身需求來設定的,
如: 設定背景圖時, 不希望被對話框自動以灰階半透明來顯示,
以下會說明處理的方式 :
AlertDialog 原本的寫法 :
程式碼
AlertDialog ad = new AlertDialog.Builder(this) ... .show();
AlertDialog 外圍的原呈現結果 :
AlertDialog 修改外圍透明度的寫法 :
程式碼
AlertDialog.Builder builder = new AlertDialog.Builder(this) ...; //.show(); // 對話框相關屬性 AlertDialog ad = builder.create(); ad.getWindow().setDimAmount(0.05f); // 透明度 (0:完全透明 ~ 1:完全不透明) ad.show();
AlertDialog 外圍透明度為 0.05f 的呈現結果 :
這樣, 是不是在設定背景時, 預覽可以呈現最真實的情況了.