当前课程知识点:Android应用开发基础 > 第四章 Android Fragment > 4.1 Fragment碎片组件 > 4.1.2 实践案例-Fragment的动态加载
本节我们通过实例来介绍Fragment的动态加载
通过程序App主界面的常用例子介绍
Fragment的动态加载方法
点击界面下端的的按钮
程序切换不同的页面
通过查看LogCat的日志信息
可以看到点击页面切换的按钮
Fragment1到Fragment4的函数加载过程
首先创建一个应用程序 在菜单栏依次选择
“File”|“New” |“Create New Module”
设置应用程序的名字
在视图设置中 选择“Empty Activity”空白视图
视图的名字和布局的名字选择默认
进入res\layout\activity_main布局文件
修改布局类型为LineLayout线性布局
排列方式为垂直排列
新建一个FrameLayout布局
设置ID为main_fm
设置宽度为充满 高度为0dp
设置布局权重比例为8
新建一个水平的LineLayout布局
宽度为充满 高度为0dp
设置分配到的布局权重比例为1
排列方式为水平排列
在该布局中新建四个按钮
设置ID分别为main_btn_1文本为界面1
main_btn_2
按钮的文本分别为界面2
main_btn_3
按钮的文本分别为界面3
main_btn_4
按钮的文本为界面4
新建一个布局文件main_fragment_layout1
修改布局类型为LineLayout线性布局
在该布局文件新建一个TextView控件
设置宽度为充满 高度为适配
设置文字居中 设置组件水平居中和垂直居中
文本设置为页面1
复制main_fragment_layout1文件
分别命名为main_fragment_layout2
修改TextView组件的文本为页面2
命名为main_fragment_layout3
修改TextView组件的文本为页面3
命名为main_fragment_layout4
修改TextView组件的文本为页面4
下面介绍Fragment1到Fragment4四个碎片类的实现过程
新建一个Fragment1类
继承Fragment类
新建一个私有字符变量TAG
重写onCreateView方法
在onCreateView方法使用getClass获取当前类
使用Log.d 输出调试信息
通过inflate()方法将main_fragment_layout布局
动态生成View并返回
使用ctrl+O快捷键重写onAttach()
onCreate() onActivityCreated()
onStart() onResume()
onPause()
onStop() onDestoryView() onDestory()
onDetach()方法
并在每个方法中使用Log.d 输出调试信息
复制fragment1文件 分别命名为fragment2
fragment3 fragment4
下面介绍主视图MainActivity类的实现方法
进入MainActivity类 选中activity_main布局文件
右键Generate-LayoutCreator
组件变量命名采用mAaBbCc的方式
自动生成组件初始化的代码
新建一个私有字符变量TAG
在onCreate方法中使用getClass获取当前类名
使用Log.d 输出调试信息
新建initFragment方法
在该方法中直接调用
getSupportFragmentManager方法获取
碎片管理器
使用碎片管理器的beginTransaction获取
事务管理
使用事务管理的replace方法替换当前的碎片视图
使用事务管理的commit方法提交事务
在Button响应函数onClick中调用
replaceFragment方法
在replaceFragment方法中
第一个参数代表替换的布局文件
第二个参数代表Fragment对象
新建碎片管理对象
使用系统的getSupportFragmentManager()获取
碎片管理器
使用碎片管理器的beginTransaction获取
事务管理
使用事务管理的replace方法替换当前的碎片视图
使用事务管理的addToBackStack方法
将碎片加入碎片栈
使用事务管理的commit方法
将此次碎片操作提交给主视图Activity
在Button响应函数onClick中
调用replaceFragment方法
根据Button的id不同
分别传入不同的布局参数和Fragment对象
代码编写完成后运行程序
点击四个不同的按钮,显示不同的碎片内容
通过查看LogCat的日志信息
可以看到点击页面切换的按钮
Fragment1到Fragment4的函数加载过程
这就是Fragment 动态加载实现过程的全部内容
请大家按照讲课的内容实现Fragment动态加载
在Android的模拟器和手机中分别运行
通过实例理解Fragment的动态加载实现过程
-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章 在线点餐系统