Сохранять программный ввод/состояние IME при изменении ориентации

У меня небольшая проблема с пользовательским интерфейсом в моем приложении;

При переключении с альбомной на портретную (или с книжной на альбомную) с открытой программной клавиатурой клавиатура скрывается.

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

(Редактировать — я не хочу принудительно открывать клавиатуру, если клавиатура была скрыта до изменения ориентации, я хочу, чтобы она оставалась скрытой — я хочу сохранить клавиатуры в открытом/закрытом состоянии).

Я искал ответ, и кажется, что добавление stateUnchanged к параметрам windowSoftInputMode в манифесте для Activity является правильным способом решения этой проблемы (как описано в документация по Android:

android:windowSoftInputMode="stateUnchanged|adjustResize" 

Проблема в том, что это, кажется, не имеет абсолютно никакого эффекта.

Кто-нибудь знает какие-либо предостережения к этой функциональности? Может быть, это не работает, если EditText, который находится в фокусе, находится в Fragment?


person Graeme    schedule 12.08.2013    source источник
comment
Жаль, что никто не ответил на это. У меня аналогичная проблема, когда она не работает только для Samsung s6 во фрагменте диалога.   -  person Jack.Ramsden    schedule 29.02.2016
comment
У меня почти такая же проблема. Я также разместил вопрос: stackoverflow.com/questions/39173171/   -  person sr09    schedule 26.08.2016
comment
У вас есть решение этой проблемы сейчас?   -  person sr09    schedule 26.08.2016
comment
Нет, так и не удалось решить   -  person Graeme    schedule 30.08.2016
comment
У меня такая же проблема   -  person AlexKost    schedule 10.10.2016
comment
Та же проблема, мой вопрос здесь stackoverflow.com/questions/ 40477115/   -  person user1275972    schedule 08.11.2016


Ответы (1)


Добавьте это в свой код, и он будет работать:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
person Harish Godara    schedule 12.08.2013
comment
Это заставляет клавиатуру быть видимой. Я хочу сохранить состояние клавиатуры при изменении ориентации. - person Graeme; 12.08.2013