Android 如何设置对话框以全屏显示?

Android 如何设置对话框以全屏显示?,android,android-fullscreen,Android,Android Fullscreen,我有一个网格视图,我想实现一个对话框,在上面 我选择的图片应该全屏显示 那么我怎样才能使对话框以全屏模式显示呢? 谢谢 编辑直到StackOverflow允许我们对答案进行版本化,这是一个适用于Android 3及以下版本的答案。请不要否决它,因为它现在不适用于您,因为它肯定适用于较旧的Android版本 您只需在onCreateDialog()方法中添加一行即可: @Override protected Dialog onCreateDialog(int id) { //all ot

我有一个网格视图,我想实现一个对话框,在上面 我选择的图片应该全屏显示

那么我怎样才能使对话框以全屏模式显示呢?
谢谢

编辑直到StackOverflow允许我们对答案进行版本化,这是一个适用于Android 3及以下版本的答案。请不要否决它,因为它现在不适用于您,因为它肯定适用于较旧的Android版本


您只需在
onCreateDialog()方法中添加一行即可:

@Override
protected Dialog onCreateDialog(int id) {
    //all other dialog stuff (which dialog to display)

    //this line is what you need:
    dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    return dialog;
}
试一试

基于此,正确答案(我自己也测试过)是:

将此代码放入构造函数或对话框的
onCreate()
方法中:

getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT);
此外,将对话框的样式设置为:

<style name="full_screen_dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>

编辑:以上所有操作的替代方法是将样式设置为
android.R.style.ThemeOverlay
,就是这样

dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.loading_screen);
    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.CENTER;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
    window.setAttributes(wlp);
    dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    dialog.show();

试试这个

我找到的最简单的方法

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        dialog.setContentView(R.layout.frame_help);
        dialog.show();

如果要使用全屏
对话框
,为什么不为图像文件使用默认的
ACTION\u视图
Intent
呢?对不起,我的意思是几乎全屏或全屏图像,如果你需要对话,那么就使用android.R.style.Theme\u transparent\u NoTitleBar\u全屏。这可能会有助于@MartinPfeffer。我还为未来的用户提供了一个建议,但是问题结束安德鲁·巴伯不是来自安卓社区。这确实是一个简单的问题,新安卓开发者总是对此感到好奇。这个问题应该再次开放,以获得更好的答案和未来用户为什么我不能使用FLAG_FullScreen好吧,很难说-你导入了LayoutParams吗?布局xml是否设置为填充父项或匹配父项?使用android.view.WindowManager.LayoutParams.FLAG\u全屏错误:
FLAG\u全屏无法解析或不是一个字段
此答案可能已过时-它可能不适用于android 4.0及以上版本。要使其适用于我,我必须使用android.R.style.Theme\u Black\u NoTitleBar\u Fullscreen
调用需要API级别11
@LuisA.Florit try Theme\u Black\u NoTitleBar\u Fullscreen使用标题栏全屏怎么样?当我这样做时(使用
DialogFragment
),我看到状态栏颜色被对话框删除,整个屏幕是对话框的背景色。有人知道解决方法吗?我尝试将对话框窗口的statusBarColor设置为无效。注意:导航栏的颜色也会消失。MATCH_父母为我工作。无法更改背景颜色,我尝试后仍然是黑色,这是唯一的工作
android.R.style.ThemeOverlay
是关键。@Yeung我想知道
ThemeOverlay.MaterialComponents
是否也适用。你能检查一下吗?
dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.loading_screen);
    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.CENTER;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
    window.setAttributes(wlp);
    dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    dialog.show();
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        dialog.setContentView(R.layout.frame_help);
        dialog.show();