Как изменить вид после открытия/закрытия клавиатуры

Из показаний у меня есть высота мягкой клавиатуры методом onSizeChanged. Что я хочу сделать, так это отобразить список вместо программной клавиатуры, когда она закрыта, и удалить список, когда клавиатура снова потребуется.

То, как я это делаю на данный момент, заключается в том, что при нажатии кнопки список становится видимым, а клавиатура закрывается с помощью InputMethodManager. Проблема в методе onClick кнопки, я сделал список видимым, но анимация скрытия клавиатуры все еще продолжается. Это вызывает видимое мерцание, так как вызов set visible запускает переделку макета, и список становится видимым, пока клавиатура все еще присутствует, вытесняя другие представления из поля зрения вверх. После завершения анимации клавиатуры другие виды снова становятся видимыми, этот процесс вызывает видимое мерцание...

Кто-нибудь получил какие-либо предложения о том, как я должен подойти к этому ?? В данный момент дергаю за волосы, поскольку установка списка, видимого во время onLayout или onSizeChanged, не позволяет списку стать видимым...

Спасибо!!! Дэйв.


person dvd    schedule 15.12.2010    source источник
comment
Помог ли вам выбранный ответ? Я думаю, что оставил аналогичный вопрос здесь: stackoverflow.com/questions/35585538/ Как вам удалось решить вашу проблему?   -  person Petrakeas    schedule 26.02.2016


Ответы (1)


вы можете реализовать метод onConfigurationChanged(Configuration) в своей деятельности. Кроме того, чтобы вызвать этот метод, вы должны добавить информацию в свой файл манифеста, чтобы указать, в каких ситуациях метод должен вызываться следующим образом:

android:configChanges="keyboardHidden|orientation"

Дополнительные сведения см. здесь.

person Vladimir Ivanov    schedule 15.12.2010