Android - 网格视图或列表视图?

Posted

技术标签:

【中文标题】Android - 网格视图或列表视图?【英文标题】:Android - Gridview or listview? 【发布时间】:2011-07-26 15:20:41 【问题描述】:

如何在我的应用程序中创建这种视图? (截图其实是安卓市场上的一款安卓应用)。

我很困惑,因为我假设我们可以通过使用 Gridview 或使用 ListView 创建相同类型的布局。

问题:

在 Gridview 中,我们可以在两行之间设置分隔符吗?我们可以为 gridview 中的每一行提供背景吗? 在Listview中,我认为我们可以自定义listview,连续3本书有背景,我们也可以给一个分隔符。

从您的专家角度,请向我建议一种可能的解决方案,为 android 应用程序设计和创建相同类型的布局。

【问题讨论】:

它认为,这是一个ListView,每个项目都有背景图像。 @Muddassir 感谢快速响应,正如我之前所说,我认为它是一个列表视图,每行包含 3 本书,每行都有背景图像。因此它的列表视图我们也可以设置分隔符。 【参考方案1】:

查看Shelves 的代码,由 Romain Guy(ListView 的创建者之一)编写。

他使用了 GridView:

无分隔符

背景是可绘制的位图

背景图是这样的:

代码值得一看,因为它还包含其他有趣的解决方案。

【讨论】:

抱歉回复晚了。感谢您的支持。我已经下载了代码并尝试查看它。但是代码真的很难理解。如果您有任何建议,请代替它。我只想每行加载 5-6 本书。【参考方案2】:

陈述的问题:在 Gridview 中,我们可以在两行之间设置分隔符吗?我们可以为gridview中的每一行提供背景吗?

好吧,您始终可以通过在视图底部添加一些内容来构成分隔符。让它在两侧“连接”,你不会知道区别。每个网格项目会花费您额外的视图,因此可能不是最佳选择。

在 Listview 中,我想我们可以自定义一个带有背景的连续 3 本书的 listview,我们也可以给一个分隔符。

Eeuhm,是的,虽然我不明白问题是什么?

【讨论】:

【参考方案3】:

使用 ListView,每一行都被计为一个元素,因此在逻辑上将有额外的工作来保持行中的每个项目是分开的。我建议你使用gridview。对于每个网格元素,保留一个空的书架空间(一本书)作为背景图像。此图像将包括架子底座。所以不需要额外的行。图像应如下所示:

【讨论】:

【参考方案4】:

如果书籍数量有限,我建议使用网格视图和视图翻转器。

视图翻转比滚动效果更好。

【讨论】:

以上是关于Android - 网格视图或列表视图?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 或 javascript 的列表/网格/平铺视图转换

scss JS:列表或网格视图

无法在我的颤振演示应用程序中的列表视图中显示网格视图

垂直网格视图中的重复卡片

阅读《Android 从入门到精通》(22)——网格视图

Android:谷歌照片,如具有缩放功能的网格视图