Изменить раскладку, когда отображается программная клавиатура - PullRequest
3 голосов
/ 10 июля 2011

Я хотел бы изменить макет, когда нажата кнопка EditText и отображается программная клавиша, поэтому все представления EditText все еще видны.

Я знаю, что вы можете использовать следующие два, но это не то, что я ищу.

android:windowSoftInputMode="stateUnchanged|adjustPan">
android:windowSoftInputMode="stateUnchanged|adjustResize">

У меня есть 8 просмотров EditText по всему экрану. Когда кто-то щелкает, чтобы изменить значение, я хотел бы видеть все виды ET, но удобно расположить и не выдвигать в странном представлении.

Есть ли простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 10 июля 2011

Я думаю, вам придется сделать это самостоятельно, но одна техника может быть ...

Создайте макет с отображенными видами для показанной клавиатуры (например, новый RelativeLayout), который перекрывает ваш стандартный макет. Установите его видимость GONE. Затем при обнаружении события, которое показывает клавиатуру, скрыть текущий вид и показать альтернативный

Полагаю, вы также можете использовать ViewSwitcher

0 голосов
/ 09 января 2012

Если вы используете оба одновременно, это не работает. Установите только атрибут android:windowSoftInputMode="adjustPan". Это должно работать.

...