自定义对话框全屏?

Bob*_*Bob 42 android dialog fullscreen

有没有办法让我的对话框视图全屏,即对话框占据整个屏幕(如活动).我尝试使用LayoutParams和样式, <item name="android:windowFullscreen">true</item>但似乎没有任何工作.

我找到了摆脱标题栏的方法,但找不到一种方法来全屏显示对话框.所以任何人都可以建议我这样做.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Dialog">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowBackground">@color/dialog_background</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)

Ren*_*ard 91

为其构造函数提供一个非对话框主题,例如android.R.style.Themeandroid.R.style.Theme_Light.

代码@Bob.

Dialog dialog = new Dialog(context, android.R.style.Theme_Light); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.MyCustomDialogLayout); 
dialog.show();
Run Code Online (Sandbox Code Playgroud)

  • 我将把代码用于此.`对话框对话框=新对话框(context,android.R.style.Theme_Light); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.MyCustomDialogLayout); dialog.show();` (19认同)

Nib*_*ain 31

以下代码适用于我的情况:

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.mydialog2);
dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
Run Code Online (Sandbox Code Playgroud)


Lak*_*nan 17

试试这个

dialog = new Dialog(context,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
Run Code Online (Sandbox Code Playgroud)

  • `对话框对话框=新对话框(this,LayoutParams.MATCH_PARENT);` (2认同)

Al*_*len 5

1.自定义您的对话框样式

 <style name = "MyDialog" >
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name = "android:windowContentOverlay" >@null</item >
        <item name = "android:colorBackgroundCacheHint" >@null</item >
        <item name = "android:backgroundDimEnabled">true</item>
        <item name = "android:windowBackground" >@android:color/transparent</item >
    </style >
Run Code Online (Sandbox Code Playgroud)

2:自定义您的对话框

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
            int width = wm.getDefaultDisplay().getWidth();
            int height = wm.getDefaultDisplay().getHeight();
            final Dialog dialog = new Dialog(this, R.style.MyDialog);
            View view = LayoutInflater.from(this).inflate(R.layout.layout_dialog, null);

            WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
            params.width = WindowManager.LayoutParams.MATCH_PARENT;
            params.height = WindowManager.LayoutParams.WRAP_CONTENT;

            dialog.setContentView(view);
            dialog.getWindow().setGravity(Gravity.BOTTOM);
            dialog.getWindow().setWindowAnimations(R.style.mydialog_Style);
            dialog.show();
Run Code Online (Sandbox Code Playgroud)