在我的应用程序中,我有一个标题(在顶部)和一个页脚(在底部)和一个CustomListView
里面。我做了HEADER& FOOTER固定不动,它们不会滚动。但放在它们之间的ListView
有一些与FOOTER重叠的组件。我不知道我希望CustomListView
中的那些组件不与页脚重叠。有什么方法可以做到吗?
我的布局代码如下 -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- Title Bar -->
<include
android:id="@+id/title_bar"
android:layout_alignParentTop="true"
layout="@layout/title_bar" />
<!-- Settings Components list -->
<ListView
android:id="@+id/custom_items_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_bar"
android:layout_weight="1" >
</ListView>
<!-- Options Bar -->
<include
android:id="@+id/options_bar"
style="@style/btn_options_bar"
android:layout_alignParentBottom="true"
layout="@layout/options_bar" />
</RelativeLayout>
答案 0 :(得分:0)
您是否尝试将android:layout_above =“@ id / options_bar”添加到ListView?为此,您还必须将页脚的声明移动到布局文件中的ListView上方,这样您就不会引用尚未声明的ID。但即使选项栏将在ListView之前的布局中列出,由于options_bar layout_alignParentBottom =“true”,它仍然会显示在它下面。
答案 1 :(得分:0)
我终于找到了问题。问题是,(我不知道为什么但是)我需要在layout_height
之后再次设置layout_weight
和<include>
对于有兴趣的人,更新的xml是 -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- Title Bar -->
<include
android:id="@+id/title_bar"
android:layout_alignParentTop="true"
layout="@layout/title_bar" />
<!-- Options Bar -->
<include
android:id="@+id/options_bar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
style="@style/btn_options_bar"
android:layout_alignParentBottom="true"
layout="@layout/options_bar" />
<!-- Settings components' list -->
<ListView
android:id="@+id/custom_items_list"
android:layout_above="@id/options_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_bar">
</ListView>
</RelativeLayout>