Android Fragment(一)
一、为什么要引入Fragments?
自从Android 3.0中引入fragments 的概念,可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments 。
二、fragments的设计原理
在设计应用时特别是Android 应用 ,有众多的分辨率要去适应,而fragments 可以让你在屏幕不同的屏幕上动态管理UI。例如:通讯应用程序(QQ),平板电脑用户列表可以在左边,消息窗口在右边的设计。而在手机屏幕用户列表填充屏幕当点击某一用户时,则弹出对话窗口的设计,如下图:

三、fragment的生命周期介绍
下来看一下官方给出的Fragment的的生命周期图片;

由以上官方给出的生命周期图片我们可以看出,fragment的生命周期其实和Activity的的生命周期非常相似。
下面对fragment的生命周期的每个方法进行简单的介绍
1.onAttach();
当fragment已经被activity关联时的回调方法
2.onCreate();
系统创建Fragments 时调用,可做执行初始化工作或者当程序被暂停或停止时用来恢复状态,跟Activity 中的onCreate相当。
3.onCreateView();
用于首次绘制用户界面的回调方法,必须返回要创建的Fragments 视图UI。假如你不希望提供Fragments 用户界面则可以返回NULL。
4.onActivityCreated()
当Activity的oncreate的方法初始化完成时被调用。
5.onPause();
当用户离开这个Fragments 的时候调用,这时你要提交任何应该持久的变化,因为用户可能不会回来。更多的事件可以看Fragments的生命周期图来获取。
四、Fragment的类别
当前系统的Api中有四种Fragment
1.Fragment
系统原生的Fragment其他几个都是在此类的基础上演变而来的
2.ListFragment
类似与ListActivity的功能,并且还提供了onListItemClick和setListAdapter等方法。
3.DialogFragment
对话框式的Fragment,可以将一个fragments 对话框并到activity 管理的fragments back stack 中,允许用户回到一个前曾摒弃fragments.
4.PrefreencesFragment
类似于PreferenceActivity .可以创建类似IPAD的设置界面。
尾声:好了这篇就简单的介绍到这里,目的是让大家对Fragment有一个初步的了解,我会在下一篇博客会给大家分享Fragment怎样使用。
Android Fragment(一)的更多相关文章
- 【Android自学日记】【转】Android Fragment 真正的完全解析(下)
		
上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...
 - Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
		
Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为 ...
 - Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
		
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
 - Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
		
嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...
 - Android Fragment使用(一) 基础篇 温故知新
		
Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作. Fragment使用基础 Fragment添加 方法一: 布局里的标签 标识符: tag, ...
 - Android Fragment应用实战
		
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上, ...
 - Android Fragment 真正的完全解析(下)
		
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...
 - Android Fragment
		
1.Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期. 2.Fragment 生命周期: 首页 最新文章 在线课程 业界 开发 ...
 - Android Fragment应用实战,使用碎片向ActivityGroup说再见
		
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...
 - Android Fragment完全解析
		
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8881711 我们都知道,Android上的界面展示都是通过Activity实现的, ...
 
随机推荐
- 自定义MVC框架之工具类-文件上传类
			
截止目前已经改造了3个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 该文件上传类功能如下: 1,允许定制上传的文件类型,文件mime信息,文 ...
 - 初学HTML-4
			
img标签:<img src=" "> src——source缩写,告诉img标签需要显示的图片名称 属性:width:宽度 height:高度.若未指定宽和高,则 ...
 - linux下使用sublime-text写coffee遇到的编译问题
			
Traceback (most recent call last): File "/opt/sublime_text/sublime_plugin.py", line 556, i ...
 - Ajax 滚动异步加载数据
			
第一种情况:单个div滚动 HTML <body> <!-- search start --> <div class="search" #if($m_ ...
 - Spring boot初入门
			
1. Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1. @Configuration 和 @Bean Spring的Java配置方式是 ...
 - python学习笔记之——unittest框架
			
unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但我们也可以用它来做UI自动化测试和接口的自动化测试. unittest框架为我们编写用例提供了如下的能力 定义用例的能 ...
 - Nginx基本的安全优化
			
为了防止nginx出现软件漏洞,我们要对nginx软件服务加强一些安全性,下面就介绍一下基本的安全优化 1.隐藏nginx版本号: 想要隐藏,首先我们要了解所使用软件的版本号,我们可以在Linux中查 ...
 - Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决
			
Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决 链接时遇到的问题,记录一下 如果还没有安装工具,请参考:Navicat P ...
 - python 实现线程安全的单例模式
			
单例模式是一种常见的设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,服务器的配置信息写在一个文件中online. ...
 - idea总是编译启动报错
			
使用多环境配置时候,总是会出现莫名其妙的启动报错.主要是没有多环境配置的参数,挺奇怪的,因为这个问题时现时不现.又没有什么具体规律,一直找不到原因.今天一个偶然的机会,发现会不会是这个原因?