谷歌玩商店像界面使用回收视图

我的任务是创build一个类似于Google Play Store的界面。将会有一个类别名称,后跟3或4个卡片(水平),然后是更多button。 然后再下一个类别。

我已经使用垂直列表视图嵌套横排列表来实现这个了。

我知道,我可以通过使用带有水平方向的LinearLayoutManager的Recycler视图来实现此目的。 使用这个我将只有一个行。

我的问题是我如何添加第二,第三行? 我应该再次使用嵌套Recycler视图吗? 有更好的select吗?

Solutions Collecting From Web of "谷歌玩商店像界面使用回收视图"

不要使用嵌套列表视图(你不能在游戏商店水平滚动)。

考虑以下选项:

  1. 您可以使用一个简单的LinearLayoutManager并制作不同的视图types。 对于3张卡片,水平使用相同权重的GridLayoutLinearLayout 。 这里的问题是,您必须考虑适配器中使用的基础数据列表的索引
  2. 编写自己的LayoutManager for RecyclerView
  3. 使用基于RecyclerView的Spannable Grid 视图 ,并提供一个Spannable Grid布局pipe理器,这似乎是你在找什么。

如果您检查Google Play应用的版式,则不会使用横向卡片的listview / recyclerview。 我很确定这只是一个垂直listview / recyclerview内的linearlayout(水平)。

如果你坚持为每一行使用水平的recyclerview,那么拥有一个嵌套的recyclerview将是你最好的select。 您可以指定一个RecycledViewPool以便所有嵌套的回收站共享同一个池,而不是创build它们自己的池。

你可能想做一个垂直RecyclerView (主回收),并为每个部分,你也可以充气一个水平的RecyclerView (部分回收)这个博客答案提到:

另外,请考虑使用:

  • Bitmaps的caching层,用于通过其他商店屏幕进行持久访问
  • 您的类别/部分图片的延迟加载方法
  • 显示新项目之前的占位符