Android: отображение клавиатуры перемещает мои компоненты вверх, я хочу скрыть их

Я добавил LinearLayOut с некоторыми кнопками Мой экран RelativeLayOut it self

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

<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, и на экране появляется мягкая клавиатура, и он выводит моего нижнего колонтитула на клавиатуру и, в конечном итоге, УДАЛЯЕТ весь мой пользовательский интерфейс.

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

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

Спасибо

Ответ 1

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

  <activity android:name="MyActivity"
    ...
    android:windowSoftInputMode="adjustPan"
    ...
  </activity>

Ответ 2

Вероятно, вы хотите

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

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

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

Ответ 3

android:windowSoftInputMode="adjustPan"