Android - 概述

Android - 碎片

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

以下是关于片段和减号的重要观点;

  • 一个片段有自己的布局和自己的行为以及它自己的生命周期回调.

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

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

  • 片段可用于多个活动.

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

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

  • 片段已添加到Android版的Honeycomb版本的Android API中,其中API版本为11 .

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

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

以下是两个UI模块如何定义的典型示例片段可以组合成一个用于平板电脑设计的活动,但是分开用于手机设计.

Android Fragment

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

片段生命周期

Android片段的生命周期与Android活动非常相似.本节简要介绍其生命周期的不同阶段.

Fragment

片段生命周期

以下是您可以在片段类中重写的方法列表 :

  • 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文件中创建布局文件.这些文件将具有已定义片段的布局.

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

碎片类型

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

  • 单帧片段 : 单帧片段用于移动设备等手持设备,此处我们只能将一个片段显示为视图.

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

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