Программные клавиши и высота макета: как разместить макет над программными клавишами?

У меня есть вкладка AppBarLayout с фрагментами. На моем телефоне с программными клавишами (Sony Xperia Z1 Compact) мое приложение отображается под строкой состояния (как и должно быть), но за программными клавишами.

Есть ли способ установить границы действия (CoordinatorLayout) так, чтобы они заканчивались над софт-клавишами?

Я нашел несколько решений для API 19, но мой minVersion - 11.

редактировать

Возможно, дело не в активности, а в ViewPager, который игнорирует размер панели приложений и добавляет его.

1 ответ

Добавьте в манифест для каждого действия, которое необходимо адаптировать к смене клавиатуры, это:

<activity ... android:configChanges="orientation|keyboardHidden|screenSize" 
android:windowSoftInputMode="adjustResize">

Ключ здесь adjustResizeв отличие от более распространенных adjustPan - первый говорит, что конец экрана находится над клавиатурой, второй говорит, что ввод всегда должен быть виден над клавиатурой.

Учитывая configChangesесть также screenSize событие, которое запускает цикл приложения, когда клавиатура отображается / скрывается.

Другие вопросы по тегам