如何强制android布局显示两个视图

时间:2013-04-30 09:49:51

标签: java android android-layout layout relativelayout

我想要整理布局。这是代码:(部分)

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

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

        <TableLayout
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#d9d9d9"
            android:clickable="true"
            android:stretchColumns="*" >
        </TableLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/scrollView1"
        android:background="@android:color/background_light"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/showingXoutOfY"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/XOutOfY"
            android:textColor="@color/blue" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/copyright"
            android:textColor="@android:color/black" />
    </LinearLayout>
</RelativeLayout>

我希望ScrollView填满屏幕,但我希望它为LinearLayout留出空间,TextViews位于底部。正如您所看到的,我尝试将它们包裹在RelativeLayout内,并将ScrollView与顶部对齐,LinearLayout与底部对齐,但仍然只显示ScrollView。 嵌套在TableLayout中的ScrollView是动态填充的。

3 个答案:

答案 0 :(得分:4)

<RelativeLayout
android:id="@+id/RelativeLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"

<强>机器人:layout_above = “@ + ID / LinearLayout1”

    android:layout_alignParentTop="true" >

    <TableLayout
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#d9d9d9"
        android:clickable="true"
        android:stretchColumns="*" >
    </TableLayout>
</ScrollView>

<LinearLayout
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@android:color/background_light"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/showingXoutOfY"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/XOutOfY"
        android:textColor="@color/blue" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/copyright"
        android:textColor="@android:color/black" />
</LinearLayout>

以粗体检查该行,该参数表示它应始终高于指定的视图

答案 1 :(得分:1)

试试这个:

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
android:layout_above="@+id/LinearLayout1" >

        <TableLayout
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#d9d9d9"
            android:clickable="true"
            android:stretchColumns="*" >
        </TableLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@android:color/background_light"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/showingXoutOfY"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/XOutOfY"
            android:textColor="@color/blue" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/copyright"
            android:textColor="@android:color/black" />
    </LinearLayout>
</RelativeLayout>

答案 2 :(得分:0)

您可以对ScrollView使用marginBottom属性。或者使用LinearLayout作为父级和布局权重属性来拉伸scrollview