第四章 手机平板要兼顾-探究碎片
2016-12-08 16:11
113 查看
Fragment的使用方式
在Fragment中模拟返回栈
FragmentTransaction中提供了一个addToBackStack方法,用于将一个事务添加到回退栈中,参数可写为null。Fragment的生命周期
Fragment的状态和回调
状态运行状态
可见、它所关联的activity是运行状态
暂停状态
依旧是可见的,只是它所关联的activity处于了暂停状态
停止状态
它所关联的activity处于了停止状态
通过FragmentTransaction的remove、replace方法将fragment从activity中移除 ,但是在提交事务之前,通过addToBackStack方法将该事务添加到返回栈,此时也会进入停止状态。进入停止状态的fragment对用户来说是完全不可见的,有可能被系统回收。类比activity的onStop调用之后(进入停止状态)
销毁状态
activity销毁,fragment也就跟着销毁了
通过FragmentTransaction的remove、replace方法将fragment从activity中移除 ,但是在提交事务之前,没有通过addToBackStack方法将该事务添加到返回栈,此时也会进入销毁状态。
回调
onAttach
与activity建立关联
onCreate
创建
onCreateView
为fragment创建视图的时候调用
onActivityCreated
确保与fragment关联的activity创建完毕调用,注意:fragment停止的时候再次恢复会直接调用onCreateView,然后调动该方法,activity一直存在。
onStart
对应activity的方法(注意:只有在第一次在activity中加载,并且activity也是重新加载才会对应,对于替换fragment等造成的fragment重新执行方法不会与activity对应)
onResume
对应activity的方法(注意:只有在第一次在activity中加载,并且activity也是重新加载才会对应,对于替换fragment等造成的fragment重新执行方法不会与activity对应)
onPause
对应activity的方法(注意:只有在第一次在activity中加载,并且activity也是重新加载才会对应,对于替换fragment等造成的fragment重新执行方法不会与activity对应)
onStop
对应activity的方法(注意:只有在第一次在activity中加载,并且activity也是重新加载才会对应,对于替换fragment等造成的fragment重新执行方法不会与activity对应)
onDestroyView
视图被移除
onDestroy
销毁
onDetach
与activity解除关联
关于回收
fragment进入停止状态也可能因为内存不足被回收,也会调用onSaveInstanceState方法,可以再onCreate、onCreateView和onActivityCreated的参数中拿到数据
动态加载布局的技巧
使用限定符使用最小宽度限定符
layout-sw600dp 表示宽度大于600dp就加载它
一个简易的新闻客户端
兼容手机和平板创建两个类
TitleFragment
里面是listview,设置点击事件,通过它所依附的activity.findviewbyid去看是否包含有ContentFragment,如果有就说明是平板模式,如果没有就是手机模式。平板模式下刷新第二个fragment,手机模式下跳转Activity
ContentFragment
两个activity_main布局文件
位于layout-sw600dp 里面有两个,name分别用前面两个类
位于layout,里面有一个,name为TitleFragment
创建MainActivity,加载activity_main
相关文章推荐
- 手机平板要兼顾,探究碎片
- 第4章 手机平板要兼顾,探究碎片
- 阅读郭林《第一行代码》的笔记——第4章 手机平板要兼顾,探究碎片
- 手机平板要兼顾,探究碎片
- 手机平板要兼顾,探究碎片
- 第二行代码学习笔记——第四章:手机平板要兼容——探究碎片
- 第一代码第二版(郭霖著)笔记之第四章(探究碎片)
- 手机与平板兼容--利用碎片充分利用平板空间
- 第一行代码笔记,第四章-------探究碎片
- Fragment实战----手机和平板兼顾
- 第四章 探究碎片、动态加载碎片与限定符
- 如何判断Android设备是手机还是平板?
- Android 判断当前设备是手机还是平板
- 判断当前是手机还是平板
- Android 判断当前设备是手机还是平板
- Ubuntu14.04建立WIF热点供手机和平板上网
- 安卓系统手机探究之初步
- 安卓手机平板设置使用cisco anyconnect的最新方法
- 探究碎片(三)