fragment概念理解
fragment概念理解知识,fragment概念理解图片 fragment概念理解内容,fragment概念理介绍,fragment概念理正文

Fragment是Android honeycomb 3.0新增的概念,你可以将Fragment类比为Activity的一部分,它拥有自己的生命周期,接收自己的输入,你可以在Activity运行的时加入或者移除Fragment.(或者我们也可以将Fragment类比为一个可以在不同的Activity中重用的子Activity。
Fragment总是嵌入在Activity中,同时Fragment的生命周期受Activity影响,当Activity 暂停,所有在这个Activity中的Fragments将被释放。然而当一个Activity在运行比如resume时,你可以单独的操控每个Fragment。
某种意义上Fragment是屏幕中的一个子activity,但是在一个屏幕显示多个activity会造成概念和逻辑的混乱,所以引入fragment的概念,可以理解为屏幕中的一块UI,可作为activity的一部分。Fragment是view的容器,加载layout,处理一小部分屏幕,它是activity的一部分。Fragment提供的UI和代码的重用,例如,在大屏幕设备中,显示左右两个fragment或者上下两个fragment(具体看编程培训orientation),在小屏幕设备中则显示其中一个fragment
fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activity 的外观,并且由activity 管理的back stack 中保存些变化。当一个片段指定了自身的布局时,它能和其他片段配置成不同的组合,在活动中为不同的屏幕尺寸修改布局配置(小屏幕可能每次显示一个片段,而大屏幕则可以显示两个或更多)。
Fragment必须被写成可重用的模块。因为fragment有自己的layout,自己进行事件响应,拥有自己的生命周期和行为,所以你可以在多个activity中包含同一个Fragment的不同实例。这对于让你的界面在不同的屏幕尺寸下都能给用户完美的体验尤其重要。
Fragment英文原意是碎片,片段的意思,为了应对android的碎片化,Fragmnet的概念在Android3.0中被引入进来,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕比手机大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。
Fragment在应用中应当是一个模块化和可重用的组件,因为Fragment定义了自己的布局,以及通过使用它自己的生命周期回调方法定义了它自己的行为,你可以将Fragment包含到多个Activity中,一个Activiy也可以包含多个Fragment。
Activity与Fragment之间的关系:
activity与fragment关联有俩种方法:
1.在activity布局文件中定义(简单但不够灵活,activity生命周期过程中无法切换fragment视图)
2.在activity代码中添加
我们来说说第二种方法:
在activity代码中添加fragment就要用到Fragment Manager。FragmentManager负责管理fragment并将他们的视图添加到activity的视图层级结构中。
添加fragment给FragmentManager 管理时, onAttach(Activity). oncreate(Bundl_e)以及 oncreateview(…) 方法会被调用。
托管acti vity的oncreate(…)方法执行后,onActivitycreated(…)方法也会被调用。
activity处于运行状态时,FragmentManager立即驱动fragment行动,执行必要方法,跟上activity的状态(与activity的最新状态同步。)
fragment的两种切换方式:
1.通过add方法添加fragment,再通过hide,show决定显示哪一个fragment,此方式是将fragment隐藏而非重建
2.replace:每次都是重新创建fragment
fragment概念理解的更多相关文章
- 大数据核心知识点:Hbase、Spark、Hive、MapReduce概念理解,特点及机制
		
今天,上海尚学堂大数据培训班毕业的一位学生去参加易普软件公司面试,应聘的职位是大数据开发.面试官问了他10个问题,主要集中在Hbase.Spark.Hive和MapReduce上,基础概念.特点.应用 ...
 - SpringIOC的概念理解、构造器注入、setter注入、p命名空间注入、IOC容器介绍与比较
		
1.IOC概念理解 IOC(Inversion of Control)即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...
 - Kubernetes重要概念理解
		
Kubernetes重要概念理解 kubernetes是目前最主流的容器编排工具,是下一代分布式架构的王者.2018年的kubernetes第一个版本1.10已经发布.下面整理一下,kubernete ...
 - SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制
		
组织模型 资源模型 操作模型 谁能够执行哪些操作 执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...
 - elasticsearch基本概念理解+elasticsearch 的shards unassigned处理方法  -- 最佳运维实践 - 集群规划
		
1.es与MySQL的概念对比 2.概念理解 2.1 Index : 一个索引即是文档的集合 2.2 Document : 一个文档即是一个可被索引的基础单元信息,一条记录: 2.3 Replicas ...
 - ubuntn系统下将文件拷贝到优盘中及挂载概念理解
		
参考资料:http://jingyan.baidu.com/article/7082dc1c76f178e40a89bdd3.html: http://bbs.csdn.net/topics/3801 ...
 - Ceph 概念理解
		
简介 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务. 在虚拟化领域里,比较常用到的是Ceph的块设备存储, ...
 - JavaScript的作用域和块级作用域概念理解
		
作用域 作用域永远都是任何一门编程语言中的重中之重,因为它控制着变量与参数的可见性与生命周期.说到这里我们需要理解两个概念:块级作用域与函数作用域. 函数作用域 这个应该好理解,函数作用域就是说定义在 ...
 - OpenStack中Keystone的基本概念理解
		
原文http://www.kankanews.com/ICkengine/archives/10788.shtml Keystone简介 Keystone(OpenStack Identity Ser ...
 
随机推荐
- mySQL 插入,更新和删除数据
			
插入数据: 语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如 ...
 - c++拷贝文件-传统处理异常(学习)
			
#include <iostream>#include <stdio.h> using namespace std; int my_copy(const char* src_f ...
 - ASP.NET 拼多多用户登录授权后使用code去换取access_token
			
一.拼多多开放平台 由于本人刚毕业进公司实习 遇到一些问题然后想通过博客来记录和分享给大家一起学习. 第一次写博客没什么经验不是写的很好 请大家多多关照 嘴下留情哈哈 谢谢! 好了 话不多说直接进入主 ...
 - jq append添加的元素click获取不到的解决方法
			
移动端手机ios网页,apppend添加html class名用 on()方法没效果 解决方案:在html里面给需要点击的元素加一个onclick="javascript:void(0)&q ...
 - python列表删除--remove(),del,pop()
			
remove()参数为列表元素,若在列表中,删除,不在则报错 如: pop()不带参数时默认删除列表的末尾元素并返回该元素,带参数时该参数为列表元素的下标值 不带参数: 以下标为参数: del 后面可 ...
 - Linux中移动,复制,删除,打包排除某个目录或文件
			
移动,复制,删除排除某个文件或目录 cp !(file1|dir2) /data/ 复制文件到/data/,排除file1和dir2 mv !(file1|dir2) /data/ 移动文件到/dat ...
 - vue2.0 + npm + webpack 开发===环境配置
			
cnpm安装:npm install -g cnpm --registry=http://registry.npm.taobao.org 1.安装vue-cli脚手架构建工具cnpm install ...
 - storm drpc分布式本地和远程调用模式讲解
			
一.drpc 的介绍 1.rpc RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 2.drpc drp ...
 - java xml解析方式(DOM、SAX、JDOM、DOM4J)
			
XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML ...
 - LeetCode 第 167 场周赛
			
1290.二进制链表转整数 1291.顺次数 1292.元素和小于等于阈值的正方形的最大边长 1293.网格中的最短路径 1290.二进制链表转整数 1290.二进制链表转整数 给你一个单链表的引用结 ...