📜  Android-片段

📅  最后修改于: 2021-01-05 04:54:22             🧑  作者: Mango


片段是一项活动的一部分,可实现更多模块化的活动设计。如果我们说片段是一种子活动,那是没有错的。

以下是有关片段的重点-

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

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

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

  • 一个片段可以用于多个活动。

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

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

  • 片段已添加到Android版本的Honeycomb版本(版本为API 11)中的Android API中。

您可以通过扩展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文件中创建布局文件。这些文件将具有定义的片段的布局。

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

碎片类型

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

  • 单帧片段-单帧片段用于手持设备(如手机),在这里我们只能显示一个片段。

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

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