3

当且仅当它可以被锚定在那里而不与任何其他视图重叠时,我希望页脚被锚定在屏幕底部。

问题是我不知道要向页眉或页脚添加多少视图。

如果将页脚放在窗口底部会使其重叠,我想将页脚放在滚动视图的底部。(也许通过将它添加到RelativeLayout 的规则是它需要位于顶部组件下方?)

这是我想要得到的图片:

期望的结果

在哪里:

1)RelativeLayout既包含顶部的TableLayout,又包含底部的LinearLayout。

2)随着 TableRows 添加到其中,TableLayout 向下扩展。

3)随着视图的添加,LinearLayout 从底部向上扩展。

~~~

我希望滚动视图的大小增长到足以容纳组件而不重叠。

提前感谢如此棒的社区支持

4

1 回答 1

10

我认为你可以在线性布局中解决它。您在线性布局中设置了三个块:页眉、正文、页脚。将 body 设置为 fill_parent 和 layout_weight=1,这样 body 将扩展以填充页眉和页脚从父级获取其部分后留下的内容。整个结构放入 ScrollView。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TableRow><TextView android:text="Text1"/></TableRow>
            <TableRow><TextView android:text="Text2"/></TableRow>
        </TableLayout>
        <RelativeLayout 
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView 
                android:text="@string/lorem_ipsum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
        </RelativeLayout>
        <LinearLayout 
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:text="Text3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
            <TextView
                android:text="Text4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
        </LinearLayout>
    </LinearLayout>
</ScrollView>

我在 Android 2.1 的模拟器中对此进行了测试,它看起来很有效。

于 2011-08-20T19:52:49.477 回答