在Android中设置ListView的“空”区域的颜色

时间:2011-06-28 14:45:40

标签: android listview background-color

当我的列表视图没有完全填满列表视图项目时(例如我的列表视图对于8个项目足够高,但我只有2个),空白区域在我的Droid X上显示为灰色。在模拟器中空白区域显示为黑色。

如何将'空'区域设置为透明?

我已尝试设置背景颜色,缓存提示,但这些只是改变了listview的背景颜色,它有项目,而不是空白区域。

4 个答案:

答案 0 :(得分:18)

摩托罗拉曾经有关于此行为的博客文章,但他们的博客不再在线 - 答案是在Motoblur 2.3上,他们设置了默认的过度滚动页脚,可以通过设置android:overScrollFooter="@null"来修复,但仅适用于Android 2.3+。

他们推荐的应用范围解决方案是使用仅在listViewStyle文件夹中设置自定义values-v10的自定义主题。

答案 1 :(得分:2)

MotoBlur错误的程序化解决方案:

if (Build.VERSION.SDK_INT >= 8 && Build.VERSION.SDK_INT <= 10) {
   mListView.setOverscrollFooter(null);
}

答案 2 :(得分:1)

看起来像删除layout_alignParentBottom =“true”就可以了。因此,列表视图不是更改灰色,而是足以绘制所需的项目。

答案 3 :(得分:0)

删除layout_alignParentBottom="true"并更改height="wrap_content"并不足够。如果屏幕底部没有其他小部件或ListView下面没有其他小部件,这些解决方案就可以工作。

但是,如果ListView下面还有其他布局项,那么必须将ListView包装在另一个布局中,例如LinearLayout,这样容器可以在ListView中占据必要的高度(fill_parent)可以允许内部缩小(wrap_content),以便修改后的Motorola OS v2.3.3页脚行为不会显示ListView下方的灰色背景。

以下是一个示例:List View Footer Background on Android 2.3.3