【问题标题】:Multiple recyclerviews (gridlayout and horizontal linearlayout) inside one view一个视图内的多个回收视图(gridlayout 和水平线性布局)
【发布时间】:2020-11-15 00:40:35
【问题描述】:

我正在努力实现这一目标:

首先我尝试将我所有的回收视图(带有 WRAP_CONTENT)放在一个嵌套滚动视图中。这行得通,但性能很糟糕。然后我尝试为我的 recyclerviews 设置一个高度,这好多了(尤其是第一个 gridlayout 和水平线性布局加载得非常快),但动态“类别”部分仍然存在问题。

现在我正试图将我所有的 recyclerview 放在一个具有不同视图类型的 recyclerview 中。因为这是一个相当大的问题(我需要重构很多代码,因为我已经将屏幕截图中的每个区域都放到了一个片段中,现在我需要将所有代码放在一个适配器中)我想问我是否真的可以期望从中获得任何收益,因为最终它又是一个“nestedscrollview”(由我自己制作,但是......)。或者,如果有其他“最佳实践”方式来实现此布局。

谢谢

编辑: 正如预期的那样,这也没有成功。当仅将前两个回收视图添加为视图类型时,它会平滑滚动和加载。但是,一旦我尝试添加类别项目(在类别下方),我就会注意到滞后,尤其是在选择多个类别并快速向上滚动时,会出现明显的滞后。我想我将不得不改变我的布局并将类别选择部分移动到一个单独的视图中,只需要提出一个用户友好的解决方案。但令人失望的是,在我看来,布置多个表格这样微不足道的任务,在 android 上是一件很痛苦的事情。

【问题讨论】:

  • 有什么问题?每个部分的数据来源是什么?
  • 正如我所写的,目前没有实际问题。对我来说,将几个 recyclerview 放在一个 recyclerview 中似乎很麻烦(尤其是当我需要在每个视图中放置一些逻辑时)。最后,我将在根适配器内有 3 个视图类型,然后在每个视图类型内再有一个具有网格布局/线性布局的适配器。我的问题是我是否应该期望通过这种方法获得任何收益(与嵌套滚动视图相比),或者是否有其他方法可以实现我想要的

标签: android performance layout android-recyclerview android-nestedscrollview


【解决方案1】:

你可以在recyclerview中使用Recyclerview。

https://irpdevelop.wordpress.com/2016/02/10/horizontal-recyclerview-inside-a-vertical-recyclerview/

并确保使用多种视图类型。

【讨论】:

  • 我正在使用视图类型,但我的设置比文章中的设置要复杂一点:)
【解决方案2】:

我没有设法让它与标准的 android 东西一起工作。

现在我正在使用来自 airbnb 的 epoxy,并且我已将所有视图从 nestedscrollview 转换为环氧树脂 recyclerview。它是一个很棒的图书馆,airbnb 也使用它来表达他们的所有观点。

尽管如此,令人遗憾的是,android 开发团队没有解决这个问题,并提供了一个解决方案,除了“不要嵌套多个滚动到同一方向的滚动视图(recyclerviews)”的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多