Android,页面页脚停止重叠listview项目

时间:2011-10-11 10:00:07

标签: android android-layout android-listview

在我的Java android应用程序中,我使用listview来显示从SQLite DB加载的信息以及此页面中的页脚。

问题是当列表视图中有更多项目需要滚动时,由于页脚出现在页面底部,页脚将覆盖列表视图中的最后一项。

我只想阻止页脚重叠列表视图项目。

任何人都可以帮我解决这个问题。非常感谢。

编辑

<RelativeLayout android:id="@+id/relativeLayout1" android:layout_height="wrap_content" android:layout_width="match_parent">

    <ListView android:layout_width="match_parent"    
              android:layout_height="wrap_content" 
              android:id="@+id/companylistView"
              android:listSelector="@drawable/item_focus_bkg">
              </ListView>


    <LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" android:layout_alignParentBottom="true" android:background="@android:color/darker_gray" >
        <TextView android:text="Footer Text" 
                  android:id="@+id/textView1" 
                  android:layout_width="wrap_content" 
                  android:layout_height="wrap_content" 
                  android:textColor="#000000" >
                  </TextView>       
    </LinearLayout>       


</RelativeLayout>

2 个答案:

答案 0 :(得分:5)

根据您的要求(并且由于您尚未在此处发布过您已尝试过的XML布局),我假设并建议以下内容:

  1. 为您的列表视图提供底部边距:android:layout_marginBottom="60dip"
  2. 如果您使用的是RelativeLayout,那么只需将listview作为android:layout_above="@+id/footer"
  3. 我建议你选择第二种选择。

    更新

    根据您发布的XML,尝试使用正确的XML布局:

    <RelativeLayout 
        android:id="@+id/relativeLayout1" 
        android:layout_height="wrap_content" 
        android:layout_width="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
    
        <ListView android:layout_width="match_parent"    
                  android:layout_height="match_parent" 
                  android:id="@+id/companylistView"
                  android:layout_above="@+id/textView1">
        </ListView>
    
        <TextView 
            android:text="Footer Text" 
            android:id="@+id/textView1"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:textColor="#000000" 
            android:layout_alignParentBottom="true">
        </TextView>       
    </RelativeLayout>
    

答案 1 :(得分:0)

你应该像这样使用列表页脚:

View footerView = ((LayoutInflater)getApplicationContext().getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE)).inflate(R.layout.listview_footer, null, false);
list.addFooterView(footerView,null,false);

试试这个:

    <LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"
    android:orientation="vertical" >

    <ListView android:layout_width="match_parent"    
              android:layout_height="wrap_content" 
              android:id="@+id/companylistView"
              android:listSelector="@drawable/item_focus_bkg" />

    <RelativeLayout 
        android:id="@+id/relativeLayout1" 
        android:layout_height="wrap_content" 
        android:layout_width="match_parent"   
        android:background="@android:color/darker_gray" >

        <TextView 
            android:text="Footer Text" 
            android:id="@+id/textView1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:textColor="#000000" 
            android:layout_alignParentBottom="true" />

    </RelativeLayout>       

</LinearLayout>