我正在开发一个应用程序,我有一个带有编辑文本和其他信息的DialogFragment。
一切看起来都不错,除了在API> = 21的设备上,当我点击editText并出现键盘时。 FragmentDialog停留在状态栏的前面:
(白色部分是我的DialogFragment)
主要活动已经在清单上有android:fitsSystemWindows =“true”。 有没有办法将状态栏保留在FragmentDialog前面?
编辑:我看到对话框出现时,黑色暗淡的背景将应用于所有屏幕,包括状态栏。我认为那是因为对话框出现在状态栏的前面。是否可以在状态栏下面应用昏暗的背景?
谢谢!
答案 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的上边距。