我一直在浏览不同的帖子,他们都试图留在屏幕上。
但我希望页脚出现在每个页面上。我的一些页面没有滚动,但有些页面没有。每当有滚动时,我希望页脚出现在滚动下方。怎么办?
例如,如果我有这个页面:
<?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>
添加页脚的好方法是什么,不一定会出现在首页?
谢谢!
答案 0 :(得分: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" />
其中@layout/footer
是layouts文件夹中的xml文件,其中包含要重用的页脚内容。这几乎与手动添加它相同,但不必在多个文件中维护它。
希望我有所帮助。