23

如何在我的应用程序中创建这种视图?(屏幕截图实际上是 android 市场上可用的 android 应用程序)。

在此处输入图像描述

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

问题:

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

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

4

4 回答 4

11

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

他使用了 GridView:

  • 没有分隔符

  • 背景是可绘制的位图

    < 位图 xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/shelf_panel" android:tileMode="repeat" />

  • 背景图像是这样的:

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

于 2011-03-31T21:16:32.150 回答
2

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

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

在 Listview 中,我认为我们可以自定义带有背景的连续 3 本书的列表视图,我们也可以提供分隔符。

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

于 2011-03-31T06:27:59.070 回答
2

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

网格元素背景

于 2011-03-31T06:36:02.637 回答
0

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

视图翻转器将提供比滚动更好的效果。

于 2011-03-31T06:46:22.100 回答