2017-04-06 34 views
2

好吧,所以基本上我希望我的ScrollView自動滾動到EditText的底部(在我的情況下,我爲了顯示目的而使得分高度更大)。但有點搜索和大量的實驗,所有我能做到的就是後第一滾動佈局,然後彈出鍵盤和覆蓋佈局的其餘部分,這裏有一些屏幕截圖:滾動到軟鍵盤彈出之後的某個點,不是之前

This is what it does

This is what I want it to do

感謝您的幫助,我可以得到。

XML代碼:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
    android:padding="@dimen/activity_horizontal_margin" 
    android:id="@+id/newResDetailsScroll" 
    android:clickable="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Restaurant Name" 
      android:id="@+id/newResName" 
      android:singleLine="true" 
      android:textSize="18sp" 
      android:paddingTop="20dp"/> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:paddingTop="20dp" 
      android:layout_gravity="center_vertical"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Restaurant Type:" 
       android:textSize="18sp"/> 
      <Spinner 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="135dp" 
       android:id="@id/res_type" 
       android:entries="@array/res_type"/> 
      </RelativeLayout> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Restaurant Address" 
      android:id="@+id/newResAddress" 
      android:singleLine="true" 
      android:textSize="18sp" 
      android:paddingTop="20dp"/> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 
      <EditText 
       android:layout_weight="1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="City" 
       android:id="@+id/newResCity" 
       android:singleLine="true" 
       android:textSize="18sp" 
       android:paddingTop="20dp" 
       android:inputType="textAutoCorrect|textAutoComplete"/> 
      <EditText 
       android:layout_weight="1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="State" 
       android:id="@+id/newResState" 
       android:singleLine="true" 
       android:textSize="18sp" 
       android:paddingTop="20dp"/> 
      <EditText 
       android:layout_weight="1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Zip" 
       android:id="@+id/newResZip" 
       android:singleLine="true" 
       android:textSize="18sp" 
       android:paddingTop="20dp" 
       android:maxLength="5" 
       android:inputType="number"/> 
     </LinearLayout> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Restaurant Hours:" 
      android:textSize="18sp" 
      android:paddingTop="20dp"/> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="20dp"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Sunday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/sunOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/sunClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="20dp" 
       android:text="Monday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="20dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/monOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="20dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/monClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="40dp" 
       android:text="Tuesday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="40dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/tuesOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="40dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/tuesClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="60dp" 
       android:text="Wednesday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="60dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/wedOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="60dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/wedClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="80dp" 
       android:text="Thursday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="80dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/thuOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="80dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/thuClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="100dp" 
       android:text="Friday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="100dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/friOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="100dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/friClose"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="120dp" 
       android:text="Saturday:"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 am -" 
       android:layout_marginTop="120dp" 
       android:layout_marginLeft="80dp" 
       android:onClick="time" 
       android:id="@+id/satOpen"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="12:00 pm" 
       android:layout_marginTop="120dp" 
       android:layout_marginLeft="155dp" 
       android:onClick="time" 
       android:id="@+id/satClose"/> 

     </RelativeLayout> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Restaurant Description:" 
      android:textSize="18dp" 
      android:paddingTop="10dp"/> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textMultiLine|textCapSentences|textAutoComplete|textAutoCorrect" 
      android:layout_margin="10dp" 
      android:padding="5dp" 
      android:minHeight="150dp" 
      android:gravity="top|left" 
      android:maxLength="400" 
      android:id="@+id/resDescription" 
      android:background="@drawable/squarebox" 
      android:hint="Example: Happy Hour..."/> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:paddingTop="20dp"> 

      <Button 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/colorPrimary" 
       android:textColor="@color/textColor" 
       android:text="Cancel" 
       android:onClick="cancel" 
       android:layout_weight="1"/> 

      <Space 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight=".99"/> 

      <Button 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/colorPrimary" 
       android:textColor="@color/textColor" 
       android:layout_weight="1" 
       android:text="Next" 
       android:onClick="next"/> 

     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 
+0

嗨,發佈您的XML代碼在這裏。 –

+0

好吧,我已經更新了我的xml代碼,希望這有助於您在想要自動滾動到EditText或在edittext之下的 –

+0

? –

回答

1

對應於該活動的Android清單文件試試這個。

android:windowSoftInputMode="adjustResize" 
+0

我已經試過這個,和其他人一樣,它推動了它,但只是我張貼在圖片不是在ScrollView的底部像我想要得到的點。 –

0

在你的java代碼文件中,你可以把這段代碼。

scrollView.requestChildFocus(newResName, newResName); // newResName is your EditText. 

所以,scrollView會自動聚焦到EditText(你的newResName)。如果您不關注EditText,則可以將焦點保持在EditText下方的RelativeLayout。這將爲你工作。

相關問題