将滚动条分配到具有两个子布局的布局

时间:2016-04-01 13:17:01

标签: android android-layout layout

我的活动的XML文件以ScrollView作为rootview。它有两个相对布局作为孩子。这给了我错误。

我希望在此XML的ScrollView中保留两个相对布局作为子视图。

这是我的XML文件:

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

    <RelativeLayout
        android:id="@+id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="@drawable/bg_about">

        <TextView
            android:id="@+id/textAboutUs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_gravity="center"
            android:gravity="clip_vertical"
            android:text="@string/about_us"
            android:textColor="#ffffff" />

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/relativeLayout"
        android:layout_weight="0.96"
        android:background="#E8E9EA" />
    </RelativeLayout>

</ScrollView>

我希望它可以滚动整个布局或只是第二个布局。

1 个答案:

答案 0 :(得分:1)

将您的一个布局换成ScrollView(或HorizontalScrollView,如果您希望这样)或者如果您想要根ScrollView,请将其置于你的代码。无论哪种方式,你必须确保ScrollView只有一个子元素(这个子元素可以有许多子元素) - 下面是整个事物可滚动的例子:

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

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

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="1">

        <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:background="@drawable/bg_about">

            <TextView
                android:id="@+id/textAboutUs"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:layout_gravity="center"
                android:gravity="clip_vertical"
                android:text="@string/about_us"
                android:textColor="#ffffff" />

        </RelativeLayout>
     </RelativeLayout>
  </LinearLayout>         
</ScrollView>