- Android 基础
- Android - 首页
- Android - 概述
- Android - 环境搭建
- Android - 架构
- Android - 应用组件
- Android - Hello World 示例
- Android - 资源
- Android - 活动(Activity)
- Android - 服务(Service)
- Android - 广播接收器(Broadcast Receiver)
- Android - 内容提供者(Content Provider)
- Android - 碎片
- Android - 意图/过滤器(Intents/Filters)
- Android - 用户界面
- Android - UI 布局
- Android - UI 控件
- Android - 事件处理
- Android - 样式和主题
- Android - 自定义组件
- Android 高级概念
- Android - 拖放
- Android - 通知
- 基于位置的服务
- Android - 发送邮件
- Android - 发送短信
- Android - 电话呼叫
- 发布 Android 应用
- Android 实用示例
- Android - 警报对话框
- Android - 动画
- Android - 音频捕获
- Android - AudioManager
- Android - 自动完成
- Android - 最佳实践
- Android - 蓝牙
- Android - 相机
- Android - 剪贴板
- Android - 自定义字体
- Android - 数据备份
- Android - 开发者工具
- Android - 模拟器
- Android - Facebook 集成
- Android - 手势
- Android - Google 地图
- Android - 图片特效
- Android - ImageSwitcher
- Android - 内部存储
- Android - JetPlayer
- Android - JSON 解析器
- Android - LinkedIn 集成
- Android - 加载旋转器
- Android - 本地化
- Android - 登录界面
- Android - MediaPlayer
- Android - 多点触控
- Android - 导航
- Android - 网络连接
- Android - NFC 指南
- Android - PHP/MySQL
- Android - 进度圆圈
- Android - ProgressBar
- Android - 推送通知
- Android - RenderScript
- Android - RSS 阅读器
- Android - 屏幕录制
- Android - SDK 管理器
- Android - 传感器
- Android - 会话管理
- Android - 共享首选项
- Android - SIP 协议
- Android - 拼写检查器
- Android - SQLite 数据库
- Android - 支持库
- Android - 测试
- Android - 文字转语音
- Android - TextureView
- Android - Twitter 集成
- Android - UI 设计
- Android - UI 模式
- Android - UI 测试
- Android - WebView 布局
- Android - Wi-Fi
- Android - 小部件
- Android - XML 解析器
- Android 实用资源
- Android - 问答
- Android - 实用资源
- Android - 讨论
Android - 碎片
碎片是活动的一部分,它使得活动设计更加模块化。我们可以说,碎片是一种子活动。
以下是关于碎片的重要几点:
碎片有自己的布局和行为,以及自己的生命周期回调。
在活动运行期间,可以向活动中添加或移除碎片。
可以在单个活动中组合多个碎片来构建多窗格 UI。
碎片可以在多个活动中使用。
碎片的生命周期与其宿主活动的 生命周期密切相关,这意味着当活动暂停时,活动中所有可用的碎片也将停止。
碎片可以实现没有用户界面组件的行为。
碎片在 Android 的 Honeycomb 版本(API 版本 11)中添加到 Android API 中。
通过扩展Fragment类来创建碎片,可以通过在活动的布局文件中声明碎片作为<fragment>元素将其插入到活动的布局中。
在引入碎片之前,我们有一个限制,因为我们一次只能在屏幕上显示一个活动。因此,我们无法单独划分设备屏幕并控制不同的部分。但是,随着碎片的引入,我们获得了更大的灵活性,并取消了在屏幕上一次只能拥有一个活动的限制。现在我们可以拥有单个活动,但每个活动可以包含多个碎片,这些碎片将拥有自己的布局、事件和完整的生命周期。
以下是如何将由碎片定义的两个 UI 模块组合到平板电脑设计的一个活动中,但在手机设计中将其分开的一个典型示例。
在平板电脑大小的设备上运行时,应用程序可以在活动 A 中嵌入两个碎片。但是,在手机大小的屏幕上,没有足够的空间容纳这两个碎片,因此活动 A 只包含文章列表的碎片,当用户选择一篇文章时,它启动活动 B,其中包含第二个碎片来阅读文章。
碎片生命周期
Android 碎片有自己的生命周期,与 Android 活动非常相似。本节简要介绍其生命周期的不同阶段。
碎片生命周期
以下是您可以在碎片类中重写的方法列表:
onAttach()碎片实例与活动实例关联。碎片和活动尚未完全初始化。通常,您在此方法中获得对使用碎片的活动的引用,以便进行进一步的初始化工作。
onCreate()创建碎片时,系统会调用此方法。您应该在此处初始化碎片的重要组件,以便在碎片暂停或停止后再恢复时保留这些组件。
onCreateView()当碎片第一次绘制其用户界面时,系统会调用此回调。要为碎片绘制 UI,必须从此方法返回一个作为碎片布局根的View组件。如果碎片不提供 UI,则可以返回 null。
onActivityCreated()在宿主活动创建后,调用onActivityCreated()方法。活动和碎片实例以及活动的视图层次结构都已创建。此时,可以使用findViewById()方法访问视图。例如,您可以在此方法中实例化需要Context对象的對象。
onStart()碎片可见后调用onStart()方法。
onResume()碎片变为活动状态。
onPause()系统将此方法作为用户离开碎片的第一个指示调用。通常,您应该在此处提交在当前用户会话之外应持久保存的任何更改。
onStop()调用onStop()停止碎片。
onDestroyView()调用此方法后,碎片视图将被销毁。
onDestroy()调用onDestroy()以对碎片的状态进行最终清理,但Android平台不保证调用此方法。
如何使用碎片?
这涉及创建碎片的几个简单步骤。
首先,确定要在活动中使用多少个碎片。例如,我们想使用两个碎片来处理设备的横向和纵向模式。
接下来,根据碎片的数量,创建扩展Fragment类的类。Fragment类具有上述回调函数。您可以根据需要重写任何函数。
对于每个碎片,都需要在XML文件中创建布局文件。这些文件将具有为定义的碎片提供的布局。
最后,修改活动文件以定义根据您的需求替换碎片的实际逻辑。
碎片类型
基本上,碎片分为如下三个阶段: