Android:如何在全屏滚动视图中添加页脚?

时间:2011-08-20 19:17:04

标签: android scrollview footer relativelayout bottom-up

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

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

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

以下是我想要获得的图片:

desired result

其中:

1)RelativeLayout包含顶部的TableLayout和底部的LinearLayout。

2)TableLayout随着TableRows的加入而向下扩展。

3)当视图添加到它时,LinearLayout从底部向上扩展。

~~~

我希望scrollview的大小增加到足以适合组件而不重叠。

提前感谢您提供如此出色的社区支持

1 个答案:

答案 0 :(得分:10)

我认为你可以在线性布局中解决它。您在线性布局中设置了三个块:标题,正文,页脚。将body设置为fill_parent和layout_weight = 1,这样主体将展开以填充页眉和页脚从父项中获取其后的内容。整个结构放入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的模拟器中进行了测试,它看起来很有效。