一个 Fragment
代表您应用 UI 的可重用部分。片段定义和管理自己的布局,拥有自己的生命周期,并且可以处理自己的输入事件。片段不能独立存在。它们必须由活动或另一个片段 *托管*。片段的视图层次结构成为主机视图层次结构的一部分,或 *附加* 到主机视图层次结构。
模块化
片段通过让您将 UI 分割成离散的块,将模块化和可重用性引入您的活动 UI。活动是放置应用用户界面周围全局元素(例如导航抽屉)的理想场所。相反,片段更适合定义和管理单个屏幕或屏幕一部分的 UI。
考虑一个响应各种屏幕尺寸的应用。在较大的屏幕上,您可能希望应用显示一个静态导航抽屉和一个网格布局的列表。在较小的屏幕上,您可能希望应用显示一个底部导航栏和一个线性布局的列表。
在活动中管理这些变化很笨拙。将导航元素与内容分离可以使此过程更易于管理。然后,活动负责显示正确的导航 UI,而片段则以适当的布局显示列表。
将 UI 分割成片段使在运行时修改活动的外观变得更容易。当您的活动处于 STARTED
生命周期状态 或更高状态时,可以添加、替换或删除片段。您可以将这些更改记录在由活动管理的回退栈中,以便可以撤销这些更改。
您可以在同一个活动中使用同一个片段类的多个实例,在多个活动中使用,甚至作为另一个片段的子片段。考虑到这一点,只为片段提供管理其自身 UI 所需的逻辑。避免依赖或从另一个片段操作一个片段。
下一步
有关片段的更多文档和资源,请参阅以下内容。