FragmentDialog остается перед строкой состояния, в то время как приложение не на полноэкранном режиме

Я разрабатываю приложение, и у меня есть DialogFragment с текстом редактирования и некоторой другой информацией.

Все выглядит хорошо, за исключением устройств с API > = 21, когда я нажимаю на editText и появляется клавиатура. Фрагментдиалог остается перед строкой состояния:

Введите описание изображения здесь

(Белая часть-Мой DialogFragment)

Основное действие уже имеет android: fitsSystemWindows=»true» на manifest.
Есть ли способ сохранить строку состояния перед Фрагментдиалогом?

EDIT: я видел, что когда появляется диалоговое окно, черный тусклый фон применяется на всем экране, включая строку состояния. Я думаю, это потому, что диалоговое окно появляется перед строкой состояния. Можно ли применить тусклый фон ниже строки состояния?

Спасибо!

1 ответ

  1. Если вы пытаетесь создать полноэкранный диалог, указанный 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 в базовом макете.