Мягкая клавиатура перекрывает EditTextPreferenceDialogFragmentCompat, когда AppTheme является прозрачным

Использование

  • последняя библиотека поддержки предпочтений V14.

  • Прозрачная тема по API > 19

  • EditTextPreferenceCompat внутри PreferenceFragmentCompat

Проблема

При нажатии EditTextPreferenceCompat появляется EditTextPreferenceDialogFragmentCompat с элементами управления, наложенными мягкой клавиатурой, что неверно:

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

  • Если я использую непрозрачную тему или API < 19 - все в порядке.
  • Если я использую обычный DialogFragment с прозрачной темой - все в порядке.

Что я пробовал?

  • https://github.com/Gericop/Android-Support-Preference-V7-Fix библиотека
  • Вручную настраивает окно adjust_resize/adjust_pan (но я думаю, что это не работает для прозрачного/полноэкранного).
  • Отключение/включение прозрачного. Он работает, но это = не вариант для меня.

Любое обходное решение для этого?

Ответ 1

Прозрачный/Полноэкранный режим может привести к тому, что adjust_resize не будет работать. Если вы получите высоту мягкой клавиатуры, это поможет вам решить проблему, вы можете изменить высоту экрана с помощью мягкой высоты клавиатуры. Однако google не открывает api для получения высоты мягкой клавиатуры. Один из способов - установить слушателя дерева просмотра.