【问题标题】:Android, Stop overlapping listview items by the page footerAndroid,通过页脚停止重叠列表视图项目
【发布时间】:2011-10-11 10:00:07
【问题描述】:

在我的 Java android 应用程序中,我使用列表视图来显示从 SQLite DB 加载的信息,并且该页面中还有一个页脚。

问题是当listview中加载了更多item需要滚动时,由于footer出现在页面底部,所以footer覆盖了listview中的最后一个item。

我只是想通过页脚停止重叠列表视图项。

请任何人帮助我实现这一目标。提前谢谢。

编辑

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

【问题讨论】:

  • 发布 XML 布局,以便我可以更好地帮助您
  • 嗨,Paresh,我添加了 XML 布局。

标签: android android-layout android-listview


【解决方案1】:

根据您的要求(并且由于您尚未在此处发布您迄今为止尝试过的 XML 布局),我假设并可以提出以下建议:

  1. 为您的列表视图提供底部边距:android:layout_marginBottom="60dip"
  2. 如果您使用的是RelativeLayout,那么只需将listview 指定为android:layout_above="@+id/footer"

我建议你选择第二个选项。

更新:

根据您发布的 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>

【讨论】:

  • 嗨 Paresh,问题是如果我为列表视图提供 android:layout_above="@+id/footer" ,并且如果 1 或 2 个项目加载到列表视图,则列表视图仅显示在顶部页脚的。重叠是可以的,但它在列表视图顶部有很大的空间,因为列表视图位于页面下方。
  • @JibW 检查更新的答案并更正您的 xml 布局。
  • 嗨,paresh,同样,当列表视图中有 1 或 2 个元素(小于页面高度的元素)时,列表视图顶部会出现一个空格。我需要列表视图从页面顶部开始,页脚出现在页面底部。
  • @JibW 再次检查更新的 xml 布局,现在如果这不起作用,请发布您实际面临的问题的快照。
  • 嗨 Paresh 非常感谢它运行良好,昨天我为我之前的布局添加了 android:layout_above="@+id/footer"。请问我哪里出错了??????
【解决方案2】:

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

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>

【讨论】:

  • 嗨 Vineet,这样它会为列表视图创建一个页脚。当有更多项目加载到列表视图时,在屏幕中用户看不到页脚,因为它出现在列表视图的末尾。我想要的是每次在屏幕上都有一个页脚,即使没有数据,数据较少或加载到列表视图的数据太多。
  • 当listview加载的item很多,需要滚动的时候,页脚看不到。当滚动到列表末尾时,只有它在那里。而且当列表视图中有 1 或 2 条记录而不是或出现在页面底部时,它会出现在列表视图的末尾。
  • 你有没有使用上面的代码进行页脚视图。参考这个:developer.android.com/reference/android/widget/…
  • 嗨 Vineet,这样我们可以在列表视图中添加页脚。不是为了页面。我需要在页面中添加页脚(即使列表视图中有许多项目或列表视图中的项目较少,也始终显示在页面底部)。
  • 如果只使用一个RelativeLayout就可以轻松实现子布局,为什么还要采取?
猜你喜欢
  • 2013-08-29
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多