第四单元 Fragment基础知识

(Fragment二)Fragment的add 和 replace 的区别?Fragment回退栈的工作原理? 总结一下,add和replaceadd是叠加,replace是替换。在单内容区域的导航中,我们几乎总是使用replace。而回退栈的工作原理,可以理解为一部记录用户操作步骤的‘历史纪录片’。每当我们进行一次,就为这部纪录片增加了一个片段。按下返回键,就像是倒放这部纪录片,系统会精确地逆向执行每一个操作,将UI状态恢复到之前的样子。在开发实践中,我们通常会基于replace来构建单Activity多Fragment的导航架构。同时,我们会严格在。 阅读详情

Fragment基础知识

  • Fragment 介绍
  • Fragment 应用
  • 如何创建Fragment
  • 加载Fragment的两种方式
  • 静态加载
    自动生成的java文档
    自动生成的xml
  • 动态加载
    FragmentManager 介绍
    add,remove,replace,hide 方法
  • Fragment的生命周期

Fragment 介绍

Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段!想想,如果一个很大的界面,我们 就一个布局,写起界面来会有多麻烦,而且如果组件多的话是管理起来也很麻烦!而使用Fragment 我们可以把屏幕划分成几块,然后进行分组,进行一个模块化的管理!从而可以更加方便的在 运行过程中动态地更新Activity的用户界面!另外Fragment并不能单独使用,他需要嵌套在Activity 中使用,尽管他拥有自己的生命周期,但是还是会受到宿主Activity的生命周期的影响,比如Activity 被destory销毁了,他也会跟着销毁!。

三 如何创建Fragment

步骤1:创建Fragment对象:(右击新建Fragment一步搞定)

(1).定义一个类, 继承Fragment
(2).重写父类的方法onCreateView()
(3).在onCreateView()方法中, 为Fragment 创建UI界面

四.如何显示Fragment

1.Fragment的静态显示

(1)Fragment代码:MyFragment.java
在这里插入图片描述
(2)静态显示:activity_main.xml
在这里插入图片描述

2.Fragment的动态显示

(1)创建多个Fragment类:此处省略
(2)MainActivity代码:MainActivity.java
在这里插入图片描述
(3)activity_main.xml布局文件:
在这里插入图片描述

四.FragmentManager

1.简介

中文名称:碎片管理器
出生日期:Android 3.0/API level 11
助 理:FragmentTransaction
获取方式:①Android 3.0前的版本使用getSupportFragmentManager()方法获取

2.实现流程

1:获得FragmentManager对象
FragmentManager fragmentManager=getFragmentManager();
2:开启事务
FragmentTransaction transaction = fragmentManager.beginTransaction();
3:通过FragmentTransaction 调用add()、replace()方法管理fragment
4:transaction .commit();

五.Fragment的生命周期

1.onAttach() :Fragment与Activity有联系。
2.onCreate():创建Fragment
3.onCreateView():创建Fragment视图,尽量不要做耗时操作
4.onActivityCreated():当Activity中的onCreate方法执行完后调用。
5.onStart():启动。
6.onResume():可见
7.onPause():不可见
8.onStop():停止。
9. onDestroyView() :销毁Fragment视图
10.onDestroy():销毁fragment对象
11.onDetach():Fragment和Activity解除关联的时候调用

Android语言基础教程(92)Android基本程序单元Activity Fragment之创建Fragment:别让Activity一肩扛!Fragment,你的应用“乐高积木”搭建指南 还在让Activity大包大揽?App卡成PPT别怪我没提醒!Fragment,堪称Android开发的“乐高积木”,能让你的应用灵活又流畅。本文将用最接地气的方式,深度拆解Fragment的诞生理由和两种核心创建姿势:XML静态植入与Java/Kotlin动态添加。我们不仅会手把手带你搭一个可切换的双Fragment界面,还会揭秘其生命周期的小脾气。掌握它,你的App将从“毛坯房”升级为“精装豪宅”,用户体验直接拉满! 阅读详情

相关推荐

Android语言基础教程(91)Android基本程序单元Activity之使用Fragment:从零开始手把手教你玩转Android碎片:Activity的好基友Fragment完全指南

本文带你深入浅出理解Android开发中Activity与Fragment的完美搭配。通过生活化比喻解析Fragment的生命周期、通信机制等核心概念,并附完整实战示例——构建一个底部导航应用。掌握Fragment将使你的App更灵活高效,适应不同屏幕尺寸,真正实现"一次编写,到处运行"!

jxf_jxfcsdn的博客 863

第五单元 Fragment高级进阶

第5天Fragment高级进阶 一.Fragment的回退栈 二.Fragment之间的传值 方式一.Fragment之间的传值:Handler 方式二:Fragment之间的传值:接口回调 三.案例实现 四.多个fragment嵌套 一.Fragment的回退栈 Fragment2 f2 = new Fragment2(); FragmentManager fm = getSupportFr...

Transparent_v的博客 291

EEG信号分析实战:从时域到频域,手把手教你用Python处理脑电数据

本文详细介绍了使用Python进行EEG信号分析的实战方法,涵盖时域分析、频域分析和时频分析三大核心技术。通过MNE-Python等工具,读者将学习如何从原始脑电数据中提取事件相关电位(ERP),解码脑波节律特征,并运用时频分析追踪动态神经活动。教程包含完整的代码示例和认知科学解释,适合神经科学研究者快速掌握EEG分析全流程。

pink的博客 1008

Android Fragment 实现状态栏透明(沉浸式)

来两张效果图对比一下 第一张图是实现了透明状态栏的效果,第二张图是未实现透明状状态栏。如果还看不出区别,那么请打开手机淘宝和任一手机银行App对比顶部的颜色。 现在好多手机已经是全面屏了,如果我们的应用在顶部还是多出来这么一块黑条,那多不美观啊(APP 主题色是黑色的略过) 那么如何实现?我这里由于项目集成了 statusbarutil所以直接就参考了他例子中的代码来实现了。 Status...

龙衣 6206

嵌入式存储实战:FAL+SFUD+flashDB三件套在STM32上的完整移植指南(附避坑技巧)

本文提供了一套在STM32上完整移植FAL、SFUD与flashDB嵌入式存储框架的实战指南。详细解析了从SPI驱动配置、SFUD设备识别、FAL抽象层分区到flashDB键值数据库初始化的全流程,并分享了关键的避坑技巧与性能优化建议,帮助开发者构建稳定可靠的嵌入式存储系统。

rnn9storyteller的博客 1017

用STM32定时器PWM高级功能驱动步进电机:F103C8T6+TB6600实战教程

本文详细介绍了如何利用STM32F103C8T6微控制器的定时器PWM高级功能驱动TB6600步进电机驱动器,实现高效、灵活的运动控制方案。通过硬件配置、PWM参数计算、运动控制算法及TB6600高级功能应用的全面解析,为工业自动化和精密控制领域提供了实用的技术参考。

game4的博客 186

第四单元 Fragment

Fragment一、Fragment介绍二、创建Fragment三、Fragment的加载方式1.静态加载2.动态加载四、生命周期五、Fragment回退栈 一、Fragment介绍 Fragment介绍 Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragmen...

qq_45272980的博客 339

《揭秘 BME688人工智能压力湿度温度气体传感器:气体检测的多面能手》:此文为AI自动生成

BME688 是博世推出的一款具有人工智能和集成高线性度高精度压力、湿度、温度传感器的气体传感器,专为移动和联网应用开发,尺寸紧凑且低功耗。BME688 作为一款先进的传感器,在多个领域展现出卓越的性能。它采用了坚固而紧凑的 3.0 x 3.0 x 0.9 mm³ 封装,这种小巧的尺寸使其能够轻松应用于对空间要求严格的移动设备和联网应用中。同时,低功耗的特性也使得它在能源有限的环境下能够长时间稳定运行。

zheng_ruiguo的专栏 1932

4 第四单元 Fragment的基本使用

4 第四单元 Fragment的基本使用Fragment常用的方法添加Fragment的方法:add()替换Fragment的方法:replace()移除Fragment的方法:remove()隐藏/显示Fragment的方法:hide()/show() Fragment常用的方法 添加Fragment的方法:add() 1:切换fragment时不会重新创建,会保持fragment的状态,切换...

XSD_Andy的博客 327

Langfuse落地教程:从Docker部署到项目接入,掌控LLM调用链路

大模型应用开发中,调用链路的透明度直接决定调试效率与成本控制。可观测性技术通过记录每次请求的输入、输出、模型参数与Token消耗,帮助开发者快速定位问题。Langfuse作为开源LLM可观测性平台,将Trace、Prompt版本管理、评分等能力集成于一体,支持Docker Compose自托管部署,并提供Python/JS SDK与REST API。借助部署后的控制台,团队能够直观追踪RAG检索、Agent工具调用等复杂流程中的每一步耗时与资源占用,实现从黑盒调用到全链路可视化的转变。无论是本地调试、线上排

weixin_29698641的博客 308

2026华为OD机试(Python)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Python实现。

MISAYAONE的博客 29万+

5 第五单元 Fragment进阶

5 第五单元 Fragment进阶Fragment回退栈的方法添加到回退Fragment回退栈的方法Fragment通信使用Handler方式通信接口回调四.多个fragment嵌套 Fragment回退栈的方法 添加到回退 ContentFragment fragment = new ContentFragment(); FragmentTransaction ft = getSupportF...

XSD_Andy的博客 506

【100%通过率】华为OD机试真题 Java&Go 实现【查找单入口空闲区域】【2022.11 Q4 新题】

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.解释:空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的'O"组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

MISAYAONE的博客 2万+

Android 活动单元、Intent、Fragment(四)

积一时之跬步 , 臻千里之遥程 千里的路程都是从一步一步开始走的,无边无际的江河都是从一条条小溪汇聚而成的!「凡事不是一蹴而就的」。 一分耕耘,一分收获 希望在这里你们能收获到你们想要的。 「共勉」! ????点击查看Android总结文章总目录 文章目录4 程序单元活动Activity4.1 Activity的生命周期4.2 Intent与IntentFilter4.2.1 Intent4.2.2 IntentFilter4.3 在Activity之间的跳转4.3.1 在Activity之间数据传输

www?的博客 3282

学Simulink——基于Simulink的输入-输出线性化精确转矩控制

本文详细介绍了基于Simulink的永磁同步电机(PMSM)输入-输出线性化(IOL)精确转矩控制方法。针对传统解耦控制在非线性转矩特性下的局限性,提出通过精确反馈线性化实现转矩指令与实际转矩的严格线性关系。文章系统阐述了IOL原理、PMSM控制器推导过程,并提供了完整的Simulink建模步骤,包括电机模型搭建、IOL控制器实现和闭环系统构建。通过仿真对比验证了IOL方法在转矩跟踪精度、动态响应和参数鲁棒性方面的显著优势,最后讨论了工程实现要点和扩展应用方向。该方法为高性能伺服系统开发提供了有效解决方案。

amy_mhd的博客 61

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Android 二 第四单元

Fragment基础知识欢迎使用浩浩写的博客Fragment的静态加载Fragment的动态加载Fragment的生命周期 欢迎使用浩浩写的博客 Fragment的静态加载 需要手动创建一个Fragment的类,布局文件会自动创建,然后写布局文件里的内容,可以和基础的控件一样在别的布局文件里面调用出来。 Fragment的动态加载 Fragment的动态加载就是在代码中手动添加到界面上,需要使用F...

haohao_9的博客 235

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第四单元总结

1:当FragmentB替FragmentA时,先调用remove()方法移除FragmentA,然后再调用add()方法添加FragmentB。1:切换fragment时不会重新创建,会保持fragment的状态,切换前是什么状态切换后还是什么状态。//add方法参数,第一个要放入的容器(布局的Id),第二个是fragment对象。1:切换到另外一个Fragment时,使用hide()方法将当前Fragment隐藏。2:当该Fragment需要被重新显示出来的时候,使用show()方法完成。

l89349062的博客 124

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

第四单元和第五单元前几部分

第四单元Fragment java代码页面java代码第二个activity第三个Activity第三个fragment代码第三个fragment布局 Fragment java代码 package com.example.afternoon; import android.content.Context; import android.os.Bundle; import android.su...

tounihouzi的博客 160

Fragment——(3)测试Fragment

本文始发于github,由于文内部分链接使用的是相对路径,如果访问不到,请移步github项目内阅读即可正常访问。 原文(英文)地址 Fragment在您的应用程序中充当可重用容器,允许您在各种Activity和布局配置中呈现相同的用户界面布局。鉴于这些Fragment的多功能性,测试它们提供一致且资源有效的体验非常重要: 您的Fragment外观应该在布局配置中保持一致,包括支持更大屏幕尺寸或...

ai-exception的博客 1880

第四单元

动态添加Fragment FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(R.id.fl,contactFragm...

Meng_ling_qi的博客 140

第七单元 Fragment与ViewPager与TabLayout的组合使用

Fragment与ViewPager与TabLayout一、TabLayout的介绍1.使用TabLayout的步骤1.引入 com.android.support:design2.MainActivity的xml文件的创建3.MainActivity4.适配器5.最后创建Fragment即可2.TabLayout 的几个常用属性值 一、TabLayout的介绍 Tablayout继承自Horiz...

qq_45272980的博客 538

Android Fragment开发指南:从基础到高级实践

Fragment作为Android UI开发的核心组件,通过模块化设计实现了界面元素的灵活组合与复用。其生命周期管理与Activity深度绑定,开发者需要掌握onAttach到onDetach的完整流程才能避免常见问题。在工程实践中,Fragment事务和回退栈机制为动态界面管理提供了强大支持,而ViewModel和Fragment Result API则解决了组件间通信的难题。随着Navigation组件和Compose的普及,现代Android开发中的Fragment应用场景更加丰富,特别适合电商、新闻

weixin_33795093的博客 476

Android语言基础教程(93)Android基本程序单元Activity Fragment之在Activity中添加Fragment:Activity的“神助攻”!Fragment这样用,让你的A

在Android开发中,Activity和Fragment这对搭档堪称“黄金组合”。Fragment作为Activity的灵活模块,能帮你实现动态UI、复用组件,让应用适配不同屏幕就像玩拼图一样简单!本文将用大白话+完整示例,手把手教你如何在Activity中“嵌入”Fragment,从基础概念到实战代码(包括动态添加和通信技巧),带你避开常见坑点。读完你就能轻松玩转模块化开发,提升应用体验,再也不用为界面兼容头疼了!

jxf_jxfcsdn的博客 339

Fragment详解

当Fragment与Activity关联时,Fragment的生命周期会受到Activity的影响,例如在Activity的onPause时,关联的Fragment也会收到对应的生命周期回调。本文将详细介绍什么是Fragment、Fragment的生命周期、使用方式、回退栈、与Activity之间的通信及其优化、以及如何处理运行时配置的变化。Activity作为应用程序中的一个页面或交互单元,可以包含多个Fragment,每个Fragment可以看作是Activity的一个部分或子页面。

weixin_58719774的博客 1095

StarRocks fragment的执行流程

get_next -> ::_start_scan_thread -> ::_submit_scanner -> ::_scanner_thread -> ::open --> HiveDataSource::open. --> _init_scanner 在这里会判断是生成哪种Scanner,走JNI还是不走JNI,然后读取数据源数据。将 fragment 的执行计划分解为多个 pipeline,并为每个 pipeline 创建对应的 PipelineDriver。

Small world 920
上一篇: 第三单元:双击退出,Notitfcation 通知
下一篇: 第五单元 Fragment高级进阶
安久儿
博客等级 码龄8年 2粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值