1

我一直在浏览不同的帖子,他们都有页脚试图留在屏幕上。

但我希望页脚出现在每一页上。我的一些页面没有卷轴,但有些页面有。每当有滚动时,我希望页脚出现在滚动下方。怎么可能呢?

例如,如果我有这个页面:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

<ScrollView
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >    

<LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >    

<TextView
    android:id="@+id/page_exlain"    
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Some text that either extends far down or is pretty short."
    android:layout_marginTop ="20dp" 
    />          


</LinearLayout>

</ScrollView>

</LinearLayout>

什么是添加页脚的好方法不一定出现在首屏上方?

谢谢!

4

1 回答 1

4

我这样做的方法是在父布局内​​有两个线性布局。第一个是我所说的内容区域,它的权重为 1,这意味着它将尝试从父视图中占用尽可能多的空间。另一方面,页脚布局将没有权重,因此即使其他视图(内容区域)为空,也会保持与内部内容匹配的高度。

您可以在此布局的一部分内添加一个scrollview或任何其他类型的布局, content而不会破坏两个元素的配置,也无需担心页脚的位置,因为它始终位于屏幕底部。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/main"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="vertical" >
<LinearLayout
                    android:id="@+id/content"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical" >
</LinearLayout>
<LinearLayout
                    android:id="@+id/footer"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >
</LinearLayout>

在前面的代码中添加一点内容,你会得到这样的结果,注意它非常简化。只要您了解适当的重量属性,就可以根据需要修改它。

在此处输入图像描述

您只需要将“内容”LinearLayout视为父内容,插入滚动视图或您需要的任何内容并忘记页脚。请注意,如果页脚是递归的,这意味着您将多次使用它,您可以直接将其加载到 xml 中,而无需将其复制到所有布局中

<include layout="@layout/footer" />

您的布局文件夹中的 xml 文件在哪里,其中@layout/footer包含您要重用的页脚内容。这实际上与手动添加它相同,但方便的是不必跨多个文件维护它。

希望我能有所帮助。

于 2012-05-14T00:22:19.820 回答