2015-09-17 71 views
0

我有一個帶有一些TextViews/EditTexts的ScrollView以構建一個註冊表單。ScrollView在編輯文本中寫入文本後向上滾動

當我點擊我的EditText,ScrollView滾動按預期(EditText正好在軟鍵盤上方)。

但是,如果我開始在其中鍵入一些文本,頂部的ScrollView滾動(EditText由鍵盤覆蓋)。

如果我刪除了我鍵入的文本,ScrollView再次在良好的位置滾動。

有人已經有這個問題嗎?

這裏是我的佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:weightSum="10" 
       android:paddingTop="5dp" 
       android:paddingBottom="5dp"> 

       <TextView 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:drawableLeft="@drawable/my_drawable" 
        android:drawablePadding="5dp" 
        android:text="Some text" 
        android:textStyle="bold" /> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:orientation="vertical"> 

        <Button 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:drawableLeft="@drawable/my_drawable_2" 
         android:text="My button" 
         android:textAllCaps="true" /> 

        <EditText 
         android:background="@drawable/my_background" 
         android:padding="10dp" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="16dp" 
         android:hint="1234567896324" 
         android:imeOptions="actionDone" 
         android:inputType="number" 
         android:maxLength="19" 
         android:singleLine="true" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Explanation" 
         android:textColor="#d3d3d3" 
         android:textSize="12sp" /> 
       </LinearLayout> 

      </LinearLayout> 

     </LinearLayout> 

    </ScrollView> 

</LinearLayout> 
+0

http://stackoverflow.com/questions/3295672/android-soft-keyboard-covers-edittext-field – Palejandro

+0

我已經擁有了Android:windowSoftInputMode = 「adjustPan」 在我的清單 – Vte

回答

0

好吧,我改變此問題解決了:

android:windowSoftInputMode="adjustPan" 

這樣:

android:windowSoftInputMode="adjustResize" 

感謝@Palejandro的提示;)

0

試試這個,它可能幫助你 -

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:paddingBottom="5dp" 
      android:paddingTop="5dp" 
      android:weightSum="10"> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="5" 
       android:drawablePadding="5dp" 
       android:text="Some text" 
       android:textStyle="bold"/> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="5" 
       android:orientation="vertical"> 

       <Button 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical" 
        android:text="My button" 
        android:textAllCaps="true"/> 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="16dp" 
        android:hint="1234567896324" 
        android:imeOptions="actionDone" 
        android:inputType="number" 
        android:maxLength="19" 
        android:padding="10dp" 
        android:singleLine="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Explanation" 
        android:textColor="#d3d3d3" 
        android:textSize="12sp"/> 
      </LinearLayout> 

     </LinearLayout> 

    </LinearLayout> 

</ScrollView>