首页 > 解决方案 > Android - 什么是布局管理器?

问题描述

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

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

实际上LayoutManager是什么,为什么使用它,有哪些不同类型的LayoutManagers?在android中,所有的UI组件,比如,Button等等都有自己的吗?TextViewEditTextLayoutManagers

标签: androidandroid-layoutgridlayoutmanagerlinearlayoutmanager

解决方案


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

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

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

里面还有一些常用的 LayoutManager 供大家使用,我就列举两个

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

推荐阅读