Получить программную клавиатуру, чтобы прекратить изменять мой LinearLayout на дисплее - PullRequest
2 голосов
/ 12 ноября 2009

В моем приложении для Android у меня есть EditText. Когда я нажимаю на это поле, появляется программная клавиатура, расширяющаяся от нижней части экрана. Похоже, что на самом деле изменить мой макет, толкая содержимое вверх. Когда я отклоняю клавиатуру, она убирается, и я вижу, как раскладывается моя раскладка, чтобы занять место, которое она ранее занимала.

Есть ли способ заставить клавиатуру просто появляться "сверху" моего макета, чтобы я не получал эту несколько неприятную анимацию ретрансляции? EditText прикреплен к самой верхней части экрана, поэтому мне не нужно беспокоиться о том, что клавиатура его скрывает.

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009

По умолчанию Android должен использовать «Панорамирование и сканирование», что будет работать более или менее так, как вы описали. Клавиатура отображается поверх вашего вида, и вы можете прокручивать свой вид в фоновом режиме. Если вы переопределяете windowInputMode для своей Активности, или Android определяет, что ваша Активность имеет изменяемый размер (из-за наличия поля с изменяемым размером ... ListView, ScrollViews и т. Д.), Он может изменить размер вашего представления, и это звучит так, как будто вы сталкиваешься. Чтобы принудительно выполнить панорамирование и сканирование, попробуйте добавить:

андроида: windowSoftInputMode = "adjustPan"

как атрибут элемента Activity в макете xml.

Есть и третий вариант. Вы можете указать, что при выборе EditText он будет редактироваться в полноэкранном режиме. Другие элементы управления в вашем представлении будут скрыты, пользователю будет представлена ​​только клавиатура, элемент управления EditText и, возможно, некоторые другие ограниченные элементы управления. Если ваш EditText не требует большого контекста от других элементов вашего представления, это может помешать более чистому пользовательскому интерфейсу. Для получения дополнительной информации см .: http://android -developers.blogspot.com / 2009/04 / update-Applications-for-on-screen.html

0 голосов
/ 25 июня 2015

Похоже, что в этом вопросе изменение размера нежелательно. У меня была такая же проблема, но добавление

android:windowSoftInputMode="adjustNothing"

к файлу манифеста вместо этого решил мою проблему.

0 голосов
/ 12 августа 2010

Добавить:

android:windowSoftInputMode="adjustResize"

к вашей активности в файле manifest.xml. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...