把东西放在ScrollView的底部

时间:2014-03-18 17:05:31

标签: android android-layout

我有以下代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/background_box">

    <ScrollView
        android:id="@+id/main_scroll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">

       [... center stuff]

    </ScrollView>

    <RelativeLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:id="@+id/auth_non_auth_bottom"
        android:layout_below="@+id/main_scroll">
       [... buttons and stuff]
     </RelativeLayou>
</RelativeLayout>

在Scrollview中有一个EditText。由于EditText可以更改其高度,Scrollview可以在RelativeLayout上运行,将其推到视图之外!

但是,如果我将RelativeLayout与parentBottom放在一起,它会在键盘上方隐藏编辑文本的键盘上方,因此用户无法写...如果我将RelativeLayout放在滚动视图中...它赢了& #39; t位于视图的底部。

任何想法都可以实现将RelativeLayout置于底部但不隐藏EditText(将位于中心区域)的目标?谢谢!

2 个答案:

答案 0 :(得分:1)

我宁愿选择以下内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_box">

<ScrollView
    android:id="@+id/main_scroll"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true">
   <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_horizontal">
      <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:lines="3"
        android:inputType="textMultiLine"
        android:id="@+id/description"
        android:clickable="true"/> 
      <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/auth_non_auth_bottom"
        android:layout_below="@+id/main_scroll">
       <!--[... buttons and stuff]-->
     </RelativeLayout>
   </LinearLayout>
</ScrollView>
</RelativeLayout>

答案 1 :(得分:0)

我做到了!这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/background_box">

    <ScrollView
        android:id="@+id/main_scroll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="50dp">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
            [...]
        </LinearLayout>
    </ScrollView>

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/auth_non_auth_bottom"
        android:layout_alignParentBottom="true"/>
</RelativeLayout>

我将一个marginBottom设置为ScrollView以查看editText字段:)