Android碎片


片段 是一块活动这使更多的模块化活动设计的。如果我们说一个片段是一种 子活动 就没有错。

以下是片段的重点 -

  • 片段具有自己的布局和自己的行为以及自己的生命周期回调。

  • 您可以在活动运行时在活动中添加或删除片段。

  • 您可以在单个活动中组合多个片段以构建多窗格UI。

  • 片段可用于多个活动。

  • 片段生命周期与其宿主活动的生命周期密切相关,这意味着当活动暂停时,活动中可用的所有片段也将被停止。

  • 片段可以实现没有用户界面组件的行为。

  • 片段被添加到Adobe的Honeycomb版本的Android API中,API版本11。

您可以通过扩展 Fragment 类来创建片段。您可以通过将活动的布局文件中的片段声明为 <fragment>元素,将片段插入到活动布局中。

在片段介绍之前,我们有一个限制因为我们只能在一个给定的时间点在屏幕上显示单个活动。因此我们无法分割设备屏幕并分别控制不同的部件。但随着片段的引入,我们获得了更大的灵活性,并消除了一次在屏幕上进行单个活动的限制。现在我们可以有一个活动,但每个活动可以包含多个片段,这些片段将拥有自己的布局,事件和完整的生命周期。

下面是一个典型示例,说明如何将片段定义的两个UI模块组合成一个平板电脑设计活动,但是为手机设计分开。

Android片段

当在平板电脑大小的设备上运行时,应用程序可以在活动A中嵌入两个片段。然而,在手机大小的屏幕上,两个片段都没有足够的空间,因此活动A仅包括文章列表的片段,当用户选择文章时,它启动活动B,其中包括要读取的第二个片段这篇文章。

片段生命周期

Android片段有自己的生命周期非常类似于android活动。本节简要介绍其生命周期的不同阶段。

分段

片段生命周期

以下是您可以在片段类中覆盖的方法列表 -

  • onAttach() 片段实例与活动实例相关联。片段和活动未完全初始化。通常,您在此方法中获得对使用该片段进行进一步初始化工作的活动的引用。

  • onCreate() 系统在创建片段时调用此方法。您应该在片段暂停或停止时初始化要保留的片段的基本组件,然后重新开始。

  • onCreateView() 当片段第一次绘制其用户界面时,系统调用此回调。要为片段绘制UI,必须从此方法返回 View 组件,该组件是片段布局的根。如果片段不提供UI,则可以返回null。

  • onActivityCreated() 创建主机活动时,在onCreateView()方法之后调用onActivityCreated()。已创建活动和片段实例以及活动的视图层次结构。此时,可以使用findViewById()方法访问视图。例。在此方法中,您可以实例化需要Context对象的对象

  • onStart() 一旦片段可见,就会调用onStart()方法。

  • onResume() 片段变为活动状态。

  • onPause() 系统将此方法作为用户离开片段的第一个指示。这通常是您应该提交应该在当前用户会话之外保留的任何更改的位置。

  • onStop() 通过调用onStop()来停止片段

  • onDestroyView() 片段视图将在调用此方法后销毁

  • **调用 onDestroy()** onDestroy()来最终清理片段的状态,但不保证由Android平台调用。

如何使用碎片?

这涉及创建片段的一些简单步骤。

  • 首先确定要在活动中使用多少个片段。例如,让我们想要使用两个片段来处理设备的横向和纵向模式。

  • 接下来根据片段数量,创建将扩展 Fragment 类的类。Fragment类有上面提到的回调函数。您可以根据您的要求覆盖任何功能。

  • 对应每个片段,您需要在XML文件中创建布局文件。这些文件将具有已定义片段的布局。

  • 最后修改活动文件,根据您的要求定义替换碎片的实际逻辑。

碎片的类型

基本上片段分为三个阶段,如下所示。

  • 单帧片段- 单帧片段用于移动设备等手持设备,这里我们只能显示一个片段作为视图。

  • 列表片段- 具有特殊列表视图的片段称为列表片段

  • 片段事务- 使用片段事务。我们可以将一个片段移动到另一个片段。