Android Custom ListView重叠其他组件

时间:2012-02-01 15:20:53

标签: android

在我的应用程序中,我有一个标题(在顶部)和一个页脚(在底部)和一个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>

2 个答案:

答案 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>