Android: отображение клавиатуры перемещает мои компоненты вверх, вместо этого я хочу скрыть их - PullRequest
60 голосов
/ 29 ноября 2010

Я добавил LinearLayOut с несколькими кнопками. Мой экран - RelativeLayOut само по себе

Вот код для этого менеджера линейной компоновки

<LinearLayout
    android:orientation="horizontal"
    android:gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/Footer"
    android:layout_marginBottom="5dp">

Вот проблема:

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

Какое точное решение?

PS Я удалил android:gravity="bottom" и android:layout_alignParentBottom="true" один за другим, но с трудом повезло, я не получил желаемого результата.

Спасибо

Ответы [ 2 ]

165 голосов
/ 29 ноября 2010

Добавить android:windowSoftInputMode="adjustPan" к манифесту - к соответствующей деятельности:

  <activity android:name="MyActivity"
    ...
    android:windowSoftInputMode="adjustPan"
    ...
  </activity>
12 голосов
/ 16 августа 2014

Возможно, вы захотите

<activity
     ...
   android:windowSoftInputMode="adjustNothing"> 
</activity>

Это предотвратит любые изменения макета при отображении программной клавиатуры.

Вероятно, существует некоторая путаница по этому поводу, поскольку в настоящее время она отсутствует в документации по адресу http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

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