当前课程知识点:Android应用开发基础 > 第四章 Android Fragment > 4.1 Fragment碎片组件 > 4.1.1 Fragment静态加载
本节我们主要介绍Fragment碎片
主要掌握Fragment控件的原理
和静态加载方法
碎片是一种可以嵌入在Acvitity当中的UI片段
它能让程序更加合理
和充分地利用大屏幕的空间
因而在平板上应用的非常广泛
Fragment与活动都能包含布局
都有自己的生命周期
可以将碎片理解成一个迷你型的活动
那么究竟要如何使用碎片
才能充分地利用平板屏幕的空间呢
如下图所示
想象我们正在开发一个新闻应用
其中一个界面使用ListView
展示了一组新闻的标题
当点击了其中一个标题
就打开另一个界面显示新闻的详细内容
如果是在手机中设计
我们可以将新闻列表放在一个活动中
将新闻的详细内容放在另一个活动中
可是如果在平板上也这么设计
如下图所示
那么新闻标题列表
将会被拉长至填充满整个平板的屏幕
而新闻的标题一般都不会太长
这样将会导致界面上有大量的空白区域
因此
更好的设计方案如下图所示
将新闻标题列表界面和新闻详细内容界面
分别放在两个碎片中
然后在同一个活动里引入这两个碎片
这样就可以将屏幕空间充分地利用
新闻列表的实现如下图所示
首先布局分为三部分
主界面布局
Title新闻列表布局
Content新闻内容布局
实现分为三部分
主界面视图类
TitleFragment碎片类
ContentFragment碎片类
新建一个标题碎片布局fragment_title.xml
代码如下所示
在fragment_title.xml布局中
包含两个Button
分别是新闻列表1和新闻2
TitleFragment的代码实现如下图所示
重写了Fragment的onCreateView()方法
然后在onCreateView方法中
通过LayoutInflater的inflate()方法
将刚才定义的fragment_title.xml布局文件
动态加载进来
可以将TitleFragment视图的生命周期函数
使用Log依次添加标签
2 新建一个标题碎片布局
fragment_content.xml
代码如下所示
fragment_content.xml布局包含两个TextView
其中一个是新闻标题
一个是新闻内容
ContentFragment的代码实现如下图所示
重写了Fragment的onCreateView()方法
然后在onCreateView方法中
通过LayoutInflater的inflate()方法
将刚才定义的fragment_content.xml
布局文件动态加载
可以将ContentFragment视图的生命周期函数
使用Log依次添加标签
第三步
新建一个主视图布局
代码如下所示
在主视图布局中
包含TitleFragment和ContentFragment
两个Fragment组件
TitleFragment组件的实现类为TitleFragment
而ContentFragment组件的实现类为
ContentFragment
MainAcvitiy主视图的代码实现如下图所示
可以将MainActivity视图的生命周期函数
使用Log添加标签
程序运行成功的效果如图所示
Frament生命周期主要分为
创建 开始 保持 暂停 停止 销毁几种状态
各种状态对应的函数调用流程图如下
1 Fragment 创建经历了Created状态
2 Fragment可见经历Started和Resume状态
3 Fragment进入后台模式
经历Paused和Stop状态
4 Fragmennt被销毁
经历Paused Stopped和Destroy三种状态
下面以TitleFragment为例
展示一下我们刚写的
Fragment各种状态下的函数调用关系
1 Fragment 启动
经历onCreateView->onActivityCreated
->onStart->onResume状态
2 Fragment暂停
经历onPause->onStop状态
3 Fragment暂停恢复
经历onStart->和onResume状态
4 Fragmennt退出
经历了onPause->onStop
->onDestroy->onDetach状态
好 这就是Fragmennt生命周期的全部过程
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统