Google 使用回收站视图播放类似商店的界面

Google play store like interface using recycler view

我的任务是创建一个与 Google Play Store.There 非常相似的界面,将一个类别名称后跟 3 或 4 张卡片(水平),然后是更多按钮。然后再来下一个类别。

我已经通过将水平列表视图嵌套在垂直列表视图中实现了这一点。

我知道,我可以通过将 Recycler 视图与水平方向的 LinearLayoutManager 一起使用来实现。使用它我将只有一行。

我的问题是如何向其中添加第 2、3 行? 我应该再次使用嵌套的 Recycler 视图吗? 有没有更好的选择?

如果您检查 Google Play 应用的布局,他们不会使用 listview/recyclerview 横向卡片。我很确定这只是垂直列表视图/回收视图中的线性布局(水平)。

如果您坚持为每一行使用水平回收视图,那么嵌套回收视图将是您的最佳选择。您可以指定一个 RecycledViewPool 以便所有嵌套的 recyclerview 共享同一个池而不是创建它们自己的池。

不要使用嵌套列表视图(您不能在 Play 商店中水平滚动)。

考虑以下选项:

  1. 您可以使用简单的 LinearLayoutManager 并制作不同的视图类型。对于水平放置 3 张卡片的情况,请使用具有相同权重的 GridLayoutLinearLayout。这里的问题是,您必须考虑适配器中使用的基础数据列表的索引
  2. 为 RecyclerView 编写自己的 LayoutManager
  3. 使用基于 RecyclerView 并提供 Spannable Grid 布局管理器的 TwoWay View,这似乎是您要找的东西。

您可能喜欢将其作为一个垂直 RecyclerView(主要回收器)来完成,并且对于每个部分,您也可以膨胀一个水平 RecyclerView(部分回收器),因为此博客回答提到:

此外,考虑使用:

  • 用于 Bitmaps 的缓存层,用于通过您的其他商店屏幕进行持久访问
  • 一种用于 category/section 图片的延迟加载方法
  • 显示新项目前的占位符