【发布时间】:2013-09-15 00:08:43
【问题描述】:
我正在寻找创建一个音乐应用程序,并且我想制作一个类似于 Google Play 使用的 GridView,他们在其中注入将跨越行和列的元素,就像这个屏幕截图中的 Soilwork 专辑所做的那样:
我曾考虑过使用 ListView 并使用自定义元素填充行,但我想不出一种将其与 ViewHolder 模式一起使用的好方法,或者真正使该模式可重用并考虑不同数量的方法项目的宽度取决于屏幕尺寸(例如,网格在手机上只有两个项目宽,而“大”项目跨越两列和一行)。
我也考虑过使用填充自定义ViewGroups 的ScrollView,但这似乎遇到了我之前提到的相同问题。
我接下来考虑使用GridLayout,但它不接受ListAdapters,并且似乎不适合我正在查看的那种用法(似乎也不滚动)
如果有人能给我一个开始做这件事的地方,或者能给我指出一个这样做的图书馆,我将不胜感激。我已经检查了StaggeredGridView,但它似乎没有完成我想要的。我理想的解决方案是一个视图,它在像GridView 这样的均匀网格上布置项目并接受来自ListAdapter 的视图,也像GridView,但允许元素跨越,使用GridView 的单个单元格约束作为默认行为。
干杯。
编辑
我有一个运行良好的GridView,如下所示,但我想让项目定期(每个nth 项目)跨越多个列和/或行,如上一个屏幕截图所示.
【问题讨论】:
-
您是在问如何获得 Googleplay 中显示的设计?您应该在 res/values 文件夹中查找使用 xml 文件,对于基于屏幕的(平板电脑、手机等),您应该查看
元素 -
@Grmn 我已经有了一个基本的 GridView 工作并使用各种资源文件夹来根据屏幕大小获取我想要的列数,我的问题是获取跨列和行的项目,例如在 Google Play 音乐中。
-
不确定但可以尝试bucket-list-adapter 示例,用于开发Google-play 应用。
-
提示:使用stackoverflow搜索功能:),不是想成为D,但我已经找到了你所问问题的几个答案。
-
@Grmn,我想你误会了。正如您在这些屏幕截图 (dropbox.com/sc/u6jojhasv6amopg/A0ce_xsd_B) 中所看到的,我的 GridView 运行良好,这不是问题所在。问题源于这样一个事实,即我需要定期(每第 n 个项目)跨越多个列/行的项目,这是 GridView 不支持的。我将修改原始问题以更好地反映这一点
标签: android android-layout user-interface android-gridview