2013-03-19 122 views
2

我的应用程序正在显示一个自定义AlertDialog,其中4个位置用于登录屏幕。无论何时显示软键盘,自定义AlertDialog变形

及其对银河S3(安卓4.1.2),但在Galaxy Xcover(安卓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> 

感谢

回答

0

试试这个:

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

感谢ElefantPhace,它的工作! – 2013-03-20 09:19:06