簡體   English   中英

每當顯示軟鍵盤時,Custom AlertDialog都會變形

[英]Custom AlertDialog deformed whenever soft keyboard is shown

我的應用程序顯示了一個自定義AlertDialog,其中有4個登錄屏幕點。

在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>

謝謝

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM