繁体   English   中英

如果ListView / Adapter为空,如何添加默认背景

[英]How to add Default Background if ListView / Adapter is empty

这是我在标题中说的一个例子。 拿应用程序“Feedly”。 如果您的列表中甚至有一个项目,它看起来像这样:

在此输入图像描述

现在,如果列表为空,有一个很好的方法来处理这个,以避免一个大的空白空格,如下所示:

在此输入图像描述

怎么能实现这个目标?

我想也许这样,看看我的伪代码:

if (adapter.size < 1) {
  // change ListView Background;
}

查看ListView#setEmptyView方法。

如果你有一个空的ListView,高度应该是0,并且设置ListView的背景可能没用。

我在这里有几个解决方案:

  1. 根据适配器的大小设置LinearLayout / RelativeLayout的背景,包括ListView的任何内容。

  2. 创建另一个ImageView,即“全部读取”图像,并根据ListView适配器的数据大小设置其可见性。

  3. 在适配器大小= 0时创建要显示的视图,并使用ViewSwitcher根据适配器大小在ListView和“所有读取”视图之间切换。 我会推荐这个,因为它可能对“全部阅读”视图更灵活。 您可以使用按钮,TextView,ImageView或任何要放入其中的布局元素。

2和3类似,但使用ViewSwitcher可以使代码可读性比设置视图的可见性更好。

以下是使用ViewSwitcher的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM