天天看點

android 設定自定義dialog全屏顯示

一般通過代碼是無法将自定義dialog設定為全屏的,這裡是在styles.xml中設定然後引用

styles.xml代碼:

<style name="Dialog_Fullscreen">
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>
           

然後代碼中引用

private void showCreateNewFolder(){
        Dialog dialog1 = new Dialog(this,R.style.Dialog_Fullscreen);
        dialog1.show();
        Window window = dialog1.getWindow();
        window.setContentView(R.layout.dialog_create_folder);
        WindowManager.LayoutParams params = window.getAttributes();
        params.width = WindowManager.LayoutParams.MATCH_PARENT;//如果不設定,可能部分機型出現左右有空隙,也就是産生margin的感覺
        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
        params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;//顯示dialog的時候,就顯示軟鍵盤
        params.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;//就是這個屬性導緻不能擷取焦點,預設的是FLAG_NOT_FOCUSABLE,故名思義不能擷取輸入焦點,
        params.dimAmount=0.5f;
        window.setGravity(Gravity.BOTTOM);
        window.setAttributes(params);
    }