谷歌播放音乐风格的网格视图

5
我想创建一个音乐应用程序,我想制作一个类似于Google Play使用的GridView,他们注入的元素会跨越行和列,就像Soilwork专辑在此屏幕截图中所示:
我考虑使用ListView并填充自定义元素的行,但我想不出如何以ViewHolder模式使用它,或者真正使其可重用并根据屏幕大小计算不同数量的宽度项目(例如,在手机上网格仅为两个项目宽,并且“大”项目横跨两列和一行)。
我还考虑使用填充有自定义ViewGroupScrollView,但这似乎遇到了我之前提到的相同问题。
接下来,我考虑使用GridLayout,但它不接受ListAdapter,并且似乎没有针对我正在寻找的类型的使用进行调整(也似乎无法滚动)。
如果有人能够给我一个开始的地方,或者可以指向实现此目标的库,我将非常感激。我已经查看了StaggeredGridView,但它似乎不能完成我想要的功能。我的理想解决方案是一个视图,它像GridView一样在平坦的网格上布置项目,并接受来自ListAdapter的视图,但允许元素跨越单个单元格约束作为默认行为。
编辑:
我有一个完全正常的GridView,如下所示,但我想使定期间隔(每个第n个项目)的项目跨越多个列和/或行,如前面的屏幕截图所示。

你是在问如何获得Google Play中显示的设计吗?你应该查找res/values文件夹中的xml文件,并且对于基于屏幕大小(平板电脑、手机等),你应该查看<supports-screens>元素。 - Grmn
@Grmn 我已经成功地创建了一个基本的GridView,并使用各种资源文件来根据屏幕大小获取所需的列数,但我的问题是如何像Google Play Music一样获取跨越多行和列的项目。 - berwyn
不确定但可以尝试使用bucket-list-adapter示例来开发Google Play应用程序。 - RobinHood
在这种情况下,我认为你应该发布一些代码,因为仅仅通过看图片人们无法真正帮助你。我认为你仍然需要弄清楚部分设计...所以发布代码,并清楚地解释你想要做什么,何时想要做什么以及出现了什么问题,任何消息等等。 - Grmn
问题的根源是,我不知道该编写什么代码。我目前有一个由扩展BaseAdapter类的类提供数据的GridView,它运行得非常好,但我不确定如何处理创建一个新的小部件/视图对象,可以处理列/行跨度,同时保持GridView的布局和适配器功能。这就是为什么我来到SO的原因 :) - berwyn
显示剩余7条评论
1个回答

1

请查看羊皮纸。GridDefinitionView可以帮助您实现所需构建的UI。


这看起来非常有前途,我得去了解一下。谢谢! - berwyn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接