Fragment应该知道的一切(1)

Android之Fragment 碎片(1) 算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。部分资料展示:有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。 阅读详情

1、Fragment是什么

    Fragment是“碎片、片段”的意思。Fragment是可放置在Activity中的应用程序的用户界面或行为的一部分,使应用能够提供可以在大屏幕设备与小屏幕设备之间进行调节的布局。

2、出现的原因

    当您成为Android开发人员时,学会使用的第一个类是Activity类。 毕竟,Activity类为应用程序提供了一个用户界面。 通过在活动中组织用户界面组件,该活动成为绘制应用程序杰作的画布。 在Android的早期,直接在一个活动中构建一个应用程序的用户界面工作的很好。 大部分早期应用程序都具有相对简单的用户界面,并且不同的Android设备形式因素的数量很小。 在大多数情况下,借助少量布局资源,单个活动可以跨越不同的设备形状。

    而后来,Android设备的外形多种多样,其尺寸和形状都有令人难以置信的变化。当将其与现代Android应用程序的高度交互式用户界面相结合时,创建单一活动来有效管理跨越这些不同形状因素的用户手机界面变得非常困难。一个可能的解决方案是定义一个Activity:为设备外形的一个子集提供用户体验 - 例如智能手机;然后,可以定义另一个针对不同形式因素子集的Activity,例如平板电脑。这种方法的问题在于,除了简单地呈现用户界面之外,Activity往往具有许多业务逻辑。由于多个Activity执行的是基本相同的任务,因此必须复制每个Activity中的逻辑,或者通过找出共享Activity间逻辑的方式(例如创建可能复杂的继承关系)来增加程序的复杂性。针对不同形式因素使用不同Activity的方法也大大增加了程序中的Activity数量,实现了所需活动数量的两倍或三倍。此外,Google的材料设计规范的出现进一步增加了每个Activity中包含的代码的复杂性。因此需要一个更好的解决方案,能够将应用程序的用户界面模块化,可以根据需要在Activity中添加需要的部分;Fragment就是解决方案。 Fragment允许我们将用户界面划分为用户界面组件和逻辑的功能组。一个Activity可以根据给定设备形状的需要加载和排列Fragment。Fragment负责形式因素细节,而Activity管理整个用户界面问题。Fragment也可以在简化材料设计应用的方式中对用户界面组件进行分组时发挥重要作用。

3、Fragment的特点

    Fragment在API Level 11 (Android 3.0)引入到程序,时至今日,超过95%的android设备支持Fragment。

    Fragment和Activity之间的关系:

    Fragment类可以用许多方法来实现各种各样的结果。在它的核心中,它表示在一个更大的Activity中运行的特定操作或接口。Fragment与它所处的Activity密切相关,不能单独使用。尽管Fragment定义了自己的生命周期,但生命周期依赖于它的活动:如果活动停止,它内部的任何片段都不能启动;当活动被破坏时,所有碎片都将被销毁。

    Fragment的所有子类都必须包含一个公共无参数构造函数。框架通常会在需要时重新实例化一个片段类,特别是在状态恢复期间,并且需要能够找到这个构造器来实例化它。如果无参数构造函数不可用,则在状态恢复期间会发生运行时异常。

4、简单的使用

    需求:使用Fragment处理设置界面的逻辑功能

    1.创建界面布局fragment_setting.xml

    

    2.创建SettingFragment

    创建SettingFragment必须要继承Fragment,此时会提示导入包有android.suppout.app.Fragment和android.suppout.v4.app.Fragment,此时为了兼容性需要导入v4包的Fragment,否则在一些版本中将导致崩溃。

        

        

        3.为SettingFragment加载布局资源

     Fragment加载布局资源,必须重写Fragment的onCreateView()方法,返回View。如图:        

            由于onCreateView()方法需要返回一个View,因此通过布局填充器加载进布局资源生成View,并返回。

        4.加载Fragment到Activity

            在原项目中,新创建一个CommonFragmentActivity,把SettingFragment加载进CommonFragmentActivity,并在MainActivity中添加进入CommonFragmentActivity的按钮,点击能够进入。

               1.创建CommonFragmentActivity和布局activity_common_fragment.xml

                

                在activity_common_fragment.xml中,通过标签fragment把SettingFragment进入,并设置唯一标识id。此种方式是通过布局资源的静态加载。

                

                5.进入CommonActivity

                Activity的跳转不再细说,不懂得可以看Activity应该知道的一切(1),效果如图:

                  

OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析 本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。 阅读详情

相关推荐

Windows域账户无管理员权限也能装软件?3步搞定UAC设置(附安全提醒)

本文探讨了在Windows域环境中,如何通过配置用户账户控制(UAC)实现临时提权,让无管理员权限的域账户也能安装软件。文章详细介绍了三步走策略:临时加入本地管理员组、调整UAC行为以及至关重要的权限回收,并提供了脚本化部署方案与安全实践指南,旨在平衡企业IT管理的效率与安全。

fox11的博客 756

Fragment之工作流程

简单使用 建议在看这边博文前,先看下这篇:Fragment之设计思路 先来看看Fragment的简单使用,然后再跟下去: SimpleFragment fragment = new SimpleFragment(); FragmentManager manager = getSupportFragmentManager(); FragmentTransaction tran...

tangedegushi的博客 468

Fragment(1)Android Fragment完全解析,关于碎片你所需知道的一切

转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/8881711 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常

分享美好的专栏 1913

面试题-手撕NMS(非极大值抑制)

非极大值抑制(Non-Maximum Suppression,NMS)是一种常用于目标检测和计算机视觉中的算法,用于去除重叠的边界框,保留最可能是真实目标的边界框。其核心就是对一组检测框,找出其中属于同一个类别且分数最高的那个框,然后把和这个框的IOU值大于阈值的那些框都删掉。

zhaoyqcsdn的博客 1108

dify离线部署

以bge-m3为例,本地部署bge-m3首先在一台能连网的linux服务器上(部署有ollama)创建想要保存模型的文件夹编辑ollama.service,配置ollama模型的保存路径添加模型存储地址将models目录设置属主,必须做,否则ollama无法启动重新加载配置文件并重启ollama测试ollama 运行是否正常最后拉取 bge-m3可在/opt/LLMModels/bge_m3/models目录下看到拉取得模型使用tar命令压缩文件夹。

weixin_42538734的博客 3068

(4.1.8.7)Android Fragment 你应该知道的一切

转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/42628537,本文出自:【张鸿洋的博客】 很久以前写过两篇Fragment的介绍,主要就是介绍其功能:Android Fragment 真正的完全解析(上)和Android Fragment 真正的完全解析(下) 有兴趣的可以凑合看下。之前的博客属于怎么使用Frag

JAVA成长之路 719

Windows系统离线搭建PyTorch深度学习环境全攻略(CUDA+cudnn实战)

本文提供了一份在Windows系统下离线搭建PyTorch深度学习环境的完整实战指南。文章详细讲解了如何在没有网络连接的情况下,正确安装和配置CUDA、cudnn以及PyTorch,并构建独立的Python虚拟环境。重点强调了版本依赖关系的重要性,并提供了从驱动准备到环境验证的每一步操作,旨在帮助用户高效、稳定地部署可复用的GPU深度学习开发环境。

table的专栏 579

Android Fragment 你应该知道的一切

转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/42628537,本文出自:【张鸿洋的博客】很久以前写过两篇Fragment的介绍,主要就是介绍其功能:Android Fragment 真正的完全解析(上)和Android Fragment 真正的完全解析(下) 有兴趣的可以凑合看下。之前的博客属于怎么使用Fragment,本文目

Hongyang 25万+

Quartz定时任务调度框架中的Misfire策略实战解析

本文深入解析了Quartz定时任务调度框架中的Misfire(失火)处理策略。针对SimpleTrigger和CronTrigger两种常用触发器,详细对比了其各自的Misfire指令(如NowWithExistingCount、FireAndProceed等)的核心行为与适用场景,并提供了基于不同业务需求(如数据补跑、时间点敏感度)的实战选型指南,帮助开发者构建更健壮可靠的任务调度系统。

weixin_29250573的博客 76

LLMOps的崛起:如何利用Langfuse和Opik构建高效的模型监控与评估体系

本文探讨了LLMOps的崛起,详细介绍了如何利用Langfuse和Opik构建高效的模型监控与评估体系。通过开源工具Langfuse的全景监控方案和Opik的三层评估体系,帮助AI工程团队实现大语言模型的全生命周期管理,提升模型性能和迭代效率。文章还提供了实战技巧和工具链集成方案,助力企业优化AI应用。

ll5678的博客 680

Android Fragment完全解析,关于碎片你所需知道的一切

我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界面放在平板上可能会有过分被拉长、控件间距过大等情况。这个时候更好的体验效果是在Activity中嵌入"小Activity",然后每个"小Activity"又可以拥有自己的布局。因此,我们今天的主角Fragment登场了

郭霖的专栏 31万+

【毕设实战】基于YOLOv8的HRSC2016船舶智能检测系统开发全指南(含可视化UI界面,打造海事领域高分毕设)

亲爱的同学,通过这篇教程,你已经掌握了“基于YOLOv8的HRSC2016微小船只检测系统”从数据集处理、模型训练到Tkinter界面开发的全流程。这个课题既贴合“海事智能化”的产业战略,又涵盖了“目标检测、深度学习、界面开发”等多个毕设评分点,非常适合作为计算机或海事工程专业的毕业设计。在实践中,你可能会遇到“海面背景复杂导致船只漏检”“微小船只识别精度不足”“UI与模型推理同步卡顿”等挑战——别担心,这些都是技术成长的必经之路。

know_F0727的博客 130

关于Fragment你所需知道的一切

Fragment是Android API中的一个类,它代表Activity中的一部分界面;您可以在一个Activity界面中使用多个Fragment,或者在多个Activity中重用某一个Fragment。 本文将介绍Fragment的定义、创建、添加、移除、生命周期 等,如需访问官方原文,您可以点击这个链接:《Fragments》。 Fragments 可以把Fra

scott2017的博客 2076

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

了解Fragment(1)

分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升**全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记有任何问题,欢迎广大网友一起来交流《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!@param resId 资源Id*/if (view!= null) {

2401_84009529的博客 972

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android 进阶——你所知道的Fragment或许比你想象中要更强大

Fragment是一个具有自己相对独立生命周期的高级“View”。

最美不过,心中有梦,身旁有你! 2300

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Fragment嵌套Fragment

问题1、fragment嵌套fragment不显示问题 通常时候,我们制作底部Tab切换,会用到fragment。即一个Activity下,使用4种fragment。这次遇到的问题是关于fragment再次嵌套fragmen的问题,功能需要在其中一个fragment中再次嵌套frament,使用viewPager嵌套,此时需要注意一点,使用viewpager包裹住子fragment,我们都知道v...

CHZKAL的博客 6780

Fragment你真的熟悉吗?看了才知道

上一篇总结了Activity的那些事,有兴趣的可以前往传送门:Activity你真的熟悉吗?看了才知道,这一篇将给大家全面总结fragment的那些事和那些坑 Fragment是在Android 3.0 (API level 11)开始引入的,它能让你的app在现有基础上性能大幅度提高,并且占用内存降低,同样的界面Activity占用内存比Fragment要多,响应速度Fragment比Acti

ShiFengRiShang的博客 1262

Android实战开发中Fragment你所应该知道的一切

本文为自己多年来在Android实战开发过程中总结归纳的一些常见问题,现在分享出来希望对初学者有所帮助。 本文出自门心叼龙的博客,转载请注明出处: https://blog.youkuaiyun.com/geduo_83/article/details/86559417 目录 1. 请简述Fragment的意义? 2. 将一个Fragment添加到Activity布局的方式有几种? 3. 简述...

门心叼龙的专栏 3347

activity嵌套fragment,fragment内嵌fragment之间传值切换fragment

至于fragment的用法,fragment+viewpager的滑动切换代码请参考博文 Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用 fragment与Activity 当在使用activity嵌套fragment,fragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中

fanfan 1万+

四大组件:Fragment: Fragment 你所不知道的细节

Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数_Tibib的专栏-优快云博客_fragment setarguments为什么要用Fragment.setArguments(Bundle bundle)来传递参数https://blog.youkuaiyun.com/tu_bingbing/article/details/24143249​​​​​​Fragment运行机制源码分析(一)_Android学习之旅-优快云博客_android fra

C++ JAVA的专栏 859

3-1.Android Fragment 之创建 Fragment

Fragment 可以视为 Activity 的一个片段,它具有自己的生命周期和接收事件的能力,它有以下特点

weixin_52173250的博客 2313

Fragment你应该知道的一切

1.Fragment介绍Fragment是Android3.0引入的新API。Fragment代表了Activity的子模块,因此可以把Fragment理解成Activity的片段。作为 Activity 界面的一部分,Fragment 的存在必须依附于 Activity,Fragment的生命周期收到它所在的Activity生命周期控制。另外,support v4 包中也提供了 Fragment,

蓝枫 604
上一篇: Android 7.0 拍照问题
下一篇: Fragment应该知道的一切(2)
Litepal
博客等级 码龄12年 17粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值