2

私のアプリは、ログイン画面に 4 つのスポットがあるカスタム AlertDialog を表示しています。

Galaxy S3 (Android 4.1.2) では正常に動作しますが、Galaxy Xcover (Android 2.3.6 および 3,65 インチの画面) では、ソフト キーボードが表示されるたびにダイアログが変形します。

ここに画像の説明を入力

ソフトキーボードを再度非表示にすると、ダイアログが正しく表示されます

Androidのバージョンによるのか、画面サイズによるのかは不明です。

この問題を解決する方法について何か考えはありますか? カスタム AlertDialog に関して何か特別なことはありますか?

<LinearLayout 
              android:id="@+id/llPin"
              android:orientation="horizontal"
              android:gravity="center_horizontal|center_vertical"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"

              android:paddingBottom="10dp">

            <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/editTextPin1"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:background="@drawable/rounded_corners"
                    android:inputType="number"
                    android:password="true"
                    android:maxLength="1"
                    android:padding="5dp"
                    android:layout_margin="5dp"
                    android:nextFocusDown="@+id/editTextPin2"
                    android:nextFocusForward="@+id/editTextPin2"
                    android:nextFocusLeft="@+id/editTextPin2"
                    android:nextFocusRight="@+id/editTextPin2"
                    android:nextFocusUp="@+id/editTextPin2"
                    android:minWidth="30dp"/>

            <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/editTextPin2"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:background="@drawable/rounded_corners"
                    android:inputType="number"
                    android:password="true"
                    android:maxLength="1"
                    android:padding="5dp"
                    android:layout_margin="5dp"
                    android:nextFocusDown="@+id/editTextPin3"
                    android:nextFocusForward="@+id/editTextPin3"
                    android:nextFocusLeft="@+id/editTextPin3"
                    android:nextFocusRight="@+id/editTextPin3"
                    android:nextFocusUp="@+id/editTextPin3"
                    android:minWidth="30dp"/>

            <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/editTextPin3"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:background="@drawable/rounded_corners"
                    android:inputType="number"
                    android:password="true"
                    android:maxLength="1"
                    android:padding="5dp"
                    android:layout_margin="5dp"
                    android:nextFocusDown="@+id/editTextPin4"
                    android:nextFocusForward="@+id/editTextPin4"
                    android:nextFocusLeft="@+id/editTextPin4"
                    android:nextFocusRight="@+id/editTextPin4"
                    android:nextFocusUp="@+id/editTextPin4"
                    android:minWidth="30dp"/>

            <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/editTextPin4"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:background="@drawable/rounded_corners"
                    android:inputType="number"
                    android:password="true"
                    android:maxLength="1"
                    android:padding="5dp"
                    android:layout_margin="5dp"
                    android:nextFocusDown="@+id/editTextPin1"
                    android:nextFocusForward="@+id/editTextPin1"
                    android:nextFocusLeft="@+id/editTextPin1"
                    android:nextFocusRight="@+id/editTextPin1"
                    android:nextFocusUp="@+id/editTextPin1"
                    android:minWidth="30dp"/>
</LinearLayout>

ありがとう

4

1 に答える 1

0

これを試して:

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
于 2013-03-20T03:29:27.270 に答える