适合Android中的可用空间滚动视图

时间:2016-07-25 22:58:50

标签: android android-layout layout

我的ScrollView出现问题。我想把它放在可用空间内,但我不知道如何。

现在我在一个LinearLayout之前有我的ScrollView和我的TextView:

        <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fillViewport="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/previousimage"
        android:layout_marginTop="@dimen/margin">


        <TextView
            android:id="@+id/question_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margintop"
            android:gravity="center_horizontal"
            android:paddingBottom="@dimen/margin_five"
            android:scrollbars="vertical"
            android:textColor="@color/white"
            android:textSize="@dimen/common_textsize" />

    </ScrollView>
    <LinearLayout
        android:id="@+id/bottom_options"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/scrollView"
        android:layout_marginTop="@dimen/margin_small"
        android:gravity="center|bottom"
        android:orientation="vertical">

问题在于,如果我在TextView中有这么多文本,那么LinearLayout会向下移动并隐藏。我想在里面滚动文本。没有按下LinearLayout。

我想自动为ScrollView占用这个空间以适应所有屏幕尺寸。

See the image Layaout

谢谢!

2 个答案:

答案 0 :(得分:3)

在ScrollView之前定义LinearLayout,并将ScrollView设置为LinearLayout,match_parent以上。像这样:

<LinearLayout
    android:id="@+id/bottom_options"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="@dimen/margin_small"
    android:gravity="center|bottom"
    android:orientation="vertical">
    ...
</LinearLayout>

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:fillViewport="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/previousimage"
    android:layout_above="@+id/bottom_options"
    android:layout_marginTop="@dimen/margin">

    <TextView
        android:id="@+id/question_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/margintop"
        android:gravity="center_horizontal"
        android:paddingBottom="@dimen/margin_five"
        android:scrollbars="vertical"
        android:textColor="@color/white"
        android:textSize="@dimen/common_textsize" />

</ScrollView>

答案 1 :(得分:0)

ScrollView应始终match_parent(或至少小于可用空间),否则它只占用与其子节点相同的空间,因此从它的角度看,没有子节点,所以不需要滚动。