когда софт клавиатура появляется/исчезает?
Ставлю листенер во фрагменте так: ViewCompat.setOnApplyWindowInsetsListener(requireView().rootView)
Листенер вызывается один раз и на этом всё.
Прочитал статью на хабре: https://habr.com/ru/company/oleg-bunin/blog/488196/ Вроде всё круто должно быть. Но не работает =(
Если ConstraintLayout содержит атрибут android:fitsSystemWindows="true" то юзаются callback onApplyWindowsInsets и только для родительских view, не?
С тем что эта дурацкая клавиатура не отдает тебе нужных колбэков. Ты хочешь прослушивать открытие/скрытие?
fitsSystemWindows не юзаю
Так точно. И добавлять паддинг в зависимости от этого, чтобы кнопка была над клавиатурой. SOFT_INPUT_ADJUST_RESIZE мне не подходит (нужно паддинг добавлять в конкретную вью, а не ресайзить весь экран), да и deprecated он.
ооооооооо. короч , есть только один вариант прослушивания открытия/скрытия - это измерять высоту вьюхи. больше нам андройд ничего не дает, даже не мучайся я ена этом собаку съел. вот тебе реальный код колбэка который работает в бою https://gist.github.com/tim4dev/eb268617942317fdbf7d299aa9727757
мне также нужно было изменять размеры кнопки при скрытии/раскрытии - вот теперь работает
+++ так же делал. В андроид вообще нет адекватных способов работать с клавиатурой. Одни костыли.
Согласен, особенно с bottom navigation view,у меня был кейс, где при поднятии клавы маржоны считались с высотой btv
Обсуждают сегодня