Android - 什么是布局管理器?

Sta*_*low 6 android android-layout gridlayoutmanager linearlayoutmanager

我见过许多类型的布局管理器,例如:

  1. LineraLayoutManager
  2. RecyclerView.LayoutManager
  3. ListViewLayoutManager
  4. 等等

实际LayoutManager是什么以及为什么使用它以及有哪些不同类型的LayoutManagers?做android系统中所有UI组件一样ButtonTextViewEditText等都有自己的LayoutManagers

Zoh*_*mir 12

适配器只负责创建管理项目的视图(称为 ViewHolder),这些类不决定这些视图在显示时如何排列。相反,它们依赖于一个名为 LayoutManager 的单独类。

LayoutManager 是一个类,它告诉适配器如何安排这些项目。例如,您可能希望这些项目从上到下排成一行,或者您可能希望将它们排列在像画廊这样的网格中。不是在您的适配器中编写此逻辑,而是在 LayoutManager 中编写它并将该 LayoutManager 传递给 View (RecyclerView)。

初学者可能会问,为什么它会这样工作?
答:灵活性。通过使用这种模式,无论何时想要更改项目的排列,都不必修改 Adapters 或 RecyclerView。此外,如果没有这种方法,您将受限于预构建类提供的功能。您可以通过扩展 LayoutManager 类来构建自己的 LayoutManager。

还有一些常用的LayoutManagers供大家使用,我列举两个

  • LinearLayoutManager 根据方向将项目排列在 1 列或 1 行中。例如,水平 LinearLayoutManager 会将项目从左到右放置在 1 行中。
  • GridLayoutManager 按照提供的行数和列数排列项目,就像画廊中的图像一样。