предотвращение изменения размера макета при появлении панели программных клавиш

#android

#Android

Вопрос:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="4" >

    <EditText
        android:id="@ id/select_part"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.2"
        android:ems="18"
        android:textSize="15sp" >

        <requestFocus />
    </EditText>

    <ListView
        android:id="@ id/part_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3.6" />

    <LinearLayout
        android:id="@ id/back_buttons"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.2"
        android:orientation="horizontal" >

        <Button
            android:id="@ id/back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Move to Purchase Order" />

        <Button
            android:id="@ id/back2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Move to Invoice info" />
    </LinearLayout>

</LinearLayout>
  

Здесь я использовал приведенный выше макет для отображения списка и TextView и Button .Но когда появляется программная клавиатура, размер панели клавиш становится маленьким.Чтобы предотвратить это, я использовал следующую строку внутри activty

  android:windowSoftInputMode="adjustResize" 
  

но это мне ничего не дает

Комментарии:

1. Попробуйте изменить его на Android:windowSoftInputMode=»adjustPan». Подробнее по этой ссылке developer.android.com/guide/topics/manifest /…

2. используйте android:windowSoftInputMode="adjustResize|adjustPan" в manifest .

Ответ №1:

почему бы вам не поместить все это LinearLayout внутрь ScrollView вот так:

 <?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="match_parent"
    android:layout_width="match_parent" >
    <LinearLayout > <!-- your layout here-->
</ScrollView>
  

Ответ №2:

Решение состояло в том, чтобы установить android:windowSoftInputMode на adjustPan