Android - Как изменить размеры только определенных видов при изменении видимости клавиатуры

1

У меня есть активность с тремя фрагментами, и они контролируются вкладками внизу.

Один из фрагментов нуждается в клавиатуре, поэтому я хотел бы изменить размер представления рециркулятора фрагментов, когда клавиатура видна, чтобы последний элемент в представлении рециркулятора был виден над клавиатурой (после прокрутки).

Но если в AndroidManifest.xml я укажу

android:windowSoftInputMode="adjustResize"

или же

android:windowSoftInputMode="adjustPan"

Нижние вкладки также становятся видны над клавиатурой.

Я даже пытался использовать OnGlobalLayoutListener, чтобы проверить, когда клавиатура видна, а затем соответствующим образом отрегулировать высоту представления рециркулятора. Но это также не работает, так как OnGlobalLayoutListener вызывается только при использовании android:windowSoftInputMode="adjustPan" или android:windowSoftInputMode="adjustResize", что в данном случае не соответствует цели.

Есть ли способ изменить размер/скорректировать вид фрагмента, но не вид деятельности (нижние вкладки)?

Спасибо

Теги:
android-layout
android-softkeyboard
adjustpan

1 ответ

0
Лучший ответ

Так вот как я это решил.

Изменения клавиатуры получены в OnGlobalLayoutListener когда

android:windowSoftInputMode="adjustPan"

И это также не толкает нижние вкладки над клавиатурой.

Таким образом, это решает проблему под рукой.

Спасибо

  • 0
    Не могли бы вы объяснить свое решение? просто получение изменений клавиатуры не будет иметь никакого значения. Вы их получаете и обрабатываете вручную или что-то еще?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню