【问题标题】:What is difference between GridView, GridLayout and Recycler view with GridLayout?GridView、Grid Layout 和 Recyclerview 与 GridLayout 有什么区别?
【发布时间】:2019-05-02 22:21:38
【问题描述】:

我正在开发一个应用程序,其中我需要像提供的图像这样的布局。

  1. 我应该使用哪种布局?为什么?
  2. GridViewGridLayout 有什么区别?为什么他们在遗留部分?有哪些替代方案和最佳做法?

以下是我需要开发的布局。我可以做到这一点 布局方式很多,但我需要了解最佳实践。

【问题讨论】:

    标签: android android-layout gridview grid-layout android-constraintlayout


    【解决方案1】:

    我相信我遇到了同样的问题。从上面的谷歌文档网站和这个答案GridView VS GridLayout in Android Apps,我得到了一个线索。

    1. 当您只想对齐子视图小部件的位置时使用 GridLayout。在这种情况下,不应滚动子级。 Grid Layout 不支持回收,这将废弃不在屏幕上的旧子视图并回收它们的视图持有者。子视图不要太多,否则会出现 OMM!!
    2. 如果不是case 1,我相信我们应该使用recycler view。当您的子项目可能在 10 + 的规模或无法在屏幕上显示时,您最好使用回收站视图。 GridView 从 API 1 开始可用。如果您尝试单击 GridView 参考指南中的 GridView 指南链接,您将被重定向到 Recycler View 指南网站。在这个网站上,我引用了
    • GridLayoutManager 将项目排列在二维网格中,就像棋盘上的正方形一样。将 RecyclerView 与 GridLayoutManager 结合使用可提供类似于旧版 GridView 布局的功能。

    • StaggeredGridLayoutManager 将项目排列在二维网格中,每一列与前一列略有偏移,就像美国国旗上的星星。

    Google 还在https://github.com/android/views-widgets-samples 上提供了用于回收站视图的示例代码

    这些是我查看的网站:

    【讨论】:

      【解决方案2】:

      https://stackoverflow.com/a/11307615/10075771

      这将帮助您了解有关 gridview 和 gridlayout 的更多信息。在我看来,正如我在您想要实现的布局中看到的那样,它是使用 gridview 的最佳方式。

      【讨论】:

      • Gridview 和 gridlayout 位于旧版部分,这意味着不推荐使用它们。对吗?
      • 是否推荐。您可以选择什么可以帮助您实现这种布局,并将支持不同尺寸设备的布局。
      • 隐含地推荐过时和过时的做法是非常糟糕的建议,尤其是如果某些东西是从头开始新设计的。
      猜你喜欢
      • 1970-01-01
      • 2017-04-06
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      相关资源
      最近更新 更多