キーボードが開いたときにサイズを変更する必要のない Android アクティビティがあります。
私のアクティビティでは、次のように、EditText、ExpandableListView、および 2 つのボタンを含む水平方向の LinearLayout があり、これらはすべて垂直方向の LinearLayout 内にあります。
<?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"
>
<EditText android:id="@+id/txtUserNameFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@+string/searchUsersHint"
android:inputType="text"
android:maxLines="1" />
<ExpandableListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_marginBottom="5pt"
android:layout_weight="1"
android:groupIndicator="@null"
android:clickable="True"
android:textFilterEnabled="true"
android:fastScrollEnabled="True"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_ok"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/ok" />
<Button
android:id="@+id/btn_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/cancel" />
</LinearLayout>
</LinearLayout>
そして、次の方法でダイアログとして開くようにアクティビティを設定しました。
<activity android:name=".SelectUsersDialog"
android:label="@string/select_users" android:excludeFromRecents="True" android:theme="@android:style/Theme.Dialog"/>
キーボードが開いたときにダイアログのサイズが変更されないようにすることはできません。次の方法で、マニフェストのアクティビティに windowSoftInputMode 値を追加しようとしました。
android:windowSoftInputMode="adjustPan"
しかし、それは役に立ちませんでした。
windowSoftInputMode の他の組み合わせも試しましたが、どれも機能しませんでした。
これを達成する正しい方法は何ですか?
ありがとう