2013-03-19 69 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