Режим программного ввода окна для фрагмента

#android #android-layout #android-fragments #navigation

#Android #android-макет #android-фрагменты #навигация

Вопрос:

У меня есть два фрагмента. Первый фрагмент содержит изображение, и оно установлено в строке состояния как прозрачное с помощью android:fitsSystemWindows="true" Затем я открываю Второй фрагмент, используя transaction.add(R.id.main_fragment, fragment, tagName); Во Втором фрагменте у меня есть один EditText внизу моего экрана. Когда я нажимаю на EditText, клавиатура открывается поверх элемента управления. Я использую приведенный ниже код, чтобы сделать управление видимым.

 if (getActivity() != null) {
        getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    }
  

Но это не работает. Если я установлю android:fitsSystemWindows="false" в первом фрагменте, то он работает хорошо. Я не хочу заменять фрагмент с помощью транзакции фрагмента. Я проверил с помощью оконного режима SOFT_INPUT_ADJUST_PAN, но с его помощью мое представление отображается в строке состояния. Я также пробовал с android:fitsSystemWindows="true" во втором фрагменте в корневом представлении, но он не работает.

Также я попытался изменить fitsSystemWindows программно, пока я меняю fragment, но это не работает. Как я могу решить эту проблему?