Программные клавиши и высота макета: как разместить макет над программными клавишами?
У меня есть вкладка 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
событие, которое запускает цикл приложения, когда клавиатура отображается / скрывается.