GridView,GridLayout和Recycler视图与GridLayout有什么区别?

时间:2018-11-30 18:31:11

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

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

  1. 我应该使用哪种布局?为什么?
  2. GridViewGridLayout有什么区别?为什么它们在旧版中?什么是替代方案和最佳做法?

以下是我需要开发的布局。我可以做到这一点     进行多种布局,但我需要了解最佳做法。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

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

  1. 当您只想以对齐方式放置子级视图小部件时,请使用GridLayout。在这种情况下,不应滚动子级。网格布局不支持回收,这将在回收其视图持有者时报废不在屏幕上的旧子项。因此,您的孩子的视图不应太多,否则将发生OMM!
  2. 如果不是这种情况1,我相信我们应该使用回收者视图。如果您的孩子的物品可能在10 +的范围内,或者无法在屏幕下方放置,则最好使用回收站视图。自API 1起添加了GridView。如果您尝试单击GridView参考指南中的GridView指南链接,您将被重定向到Recycler View指南网站。在这个网站上,我引用
  • GridLayoutManager将项目排列在二维网格中,就像棋盘上的正方形一样。将RecyclerView与GridLayoutManager一起使用可提供类似旧版GridView布局的功能。

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

Google还有一个用于回收者视图的示例代码https://github.com/android/views-widgets-samples

这是我研究过的网站:

答案 1 :(得分:0)

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

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