只要显示软键盘,自定义AlertDialog就会变形

时间:2013-03-19 13:44:42

标签: android layout android-softkeyboard

我的应用程序显示了一个自定义AlertDialog,其中有4个点用于登录屏幕。

它在Galaxy S3(Android 4.1.2)上工作正常,但在Galaxy Xcover(Android 2.3.6和3,65英寸屏幕)上,只要显示软键盘,对话框就会变形:

enter image description here

当我再次隐藏软键盘时,对话框显示正确

不确定它是否取决于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>

由于

1 个答案:

答案 0 :(得分:0)

试试这个:

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);