[英]Displaying soft keyboard whenever AlertDialog.Builder object is opened
[英]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.