FragmentDialog停留在状态栏前面,而应用程序不在全屏

时间:2017-01-13 18:26:21

标签: android user-interface android-dialogfragment android-statusbar

我正在开发一个应用程序,我有一个带有编辑文本和其他信息的DialogFragment。

一切看起来都不错,除了在API> = 21的设备上,当我点击editText并出现键盘时。 FragmentDialog停留在状态栏的前面:

enter image description here

(白色部分是我的DialogFragment)

主要活动已经在清单上有android:fitsSystemWindows =“true”。 有没有办法将状态栏保留在FragmentDialog前面?

编辑:我看到对话框出现时,黑色暗淡的背景将应用于所有屏幕,包括状态栏。我认为那是因为对话框出现在状态栏的前面。是否可以在状态栏下面应用昏暗的背景?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要创建由Material Design指定的全屏对话框。 将此代码放在DialogFragment中:

 @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        return dialog;
    }

通过以下方式调用此对话框:

getSupportFragmentManager().beginTransaction().add(android.R.id.content, FullScreenDialog.newInstance()).addToBackStack(null).commit();

快速解决方法是在基本布局中设置24dp的上边距。