Подтвердить что ты не робот

DialogFragment не работает с SOFT_INPUT_ADJUST_PAN

У меня есть диалог, который содержит некоторое содержимое, включая поле EditText.
К сожалению, когда я нажимаю на поле EditText, программная клавиатура закрывает кнопку отклонения для диалога. Это проблема, которую я разрешил с помощью

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

К сожалению, когда я это делаю, диалог сжимается, а другие предметы в нем покрываются. Вместо этого я попытался использовать SOFT_INPUT_ADJUST_PAN, но в этом случае был скорректирован только содержащийся актив, сам диалогфрагмент не двигался, и кнопки упускания по-прежнему закрыты. Есть ли способ сделать только панель диалога?

Мой соответствующий код диалоговогофрагмента выглядит следующим образом:

 @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
        mContactSupportView.findViewById(R.id.compose_message).clearFocus();
    }
4b9b3361

Ответ 1

Диалоговое расположение attr. должно быть match_parent. Когда открытая открытая клавиатура откроется, разверните диалоговое окно. Например, галактика samsung "создайте новую папку".

Ответ 2

Была та же проблема. Используется

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

в диалоговом окне "Диалог" onCreateView, но единственной вещью, которая была панорамированием, была деятельность за ней.

Проблема заключалась в том, что я устанавливал высоту диалога MATCH_PARENT. После изменения высоты до точного значения диалоговое окно DialogFragment выполняется правильно.