Google Play商店就像使用回收商视图的界面一样

时间:2015-02-13 05:40:32

标签: android android-recyclerview

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

我已经使用在Vertical listview中嵌套水平列表视图来实现这一点。

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

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

3 个答案:

答案 0 :(得分:4)

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

考虑以下选项:

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

答案 1 :(得分:3)

如果您检查Google Play应用的布局,则不会对水平卡使用listview / recyclerview。我非常确定这只是垂直listview / recyclerview中的linearlayout(水平)。

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

答案 2 :(得分:0)

您可能希望将其作为一个垂直RecyclerView(主要回收者)进行操作,并且对于每个部分,您也可以给这个博客答案提及水平RecyclerView(部分回收者):

另外,请考虑使用:

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