《第一行代码-Android》学习笔记(五)
来源:互联网 发布:json解析技术有哪些 编辑:程序博客网 时间:2024/05/10 07:52
1.在碎片中模拟返回栈
如果单纯的动态添加碎片,当按下back键就会直接退出。模拟返回栈的效果就是按下back键让他返回上一个碎片。
为了实现这个功能,只要在上一个动态添加碎片的步骤中,在事务中添加addToBackStack(null),即可。这个null可以传一个string类型的名字,用于描述返回栈的状态。
2.碎片和活动之间进行通信:
1) FragmentManager提供了一个类似于findViewById的方法,可以在活动中得到相应碎片的实例,这样就可以在活动中轻松的调用碎片里的方法了。
2) 同样的在碎片中提供了getActivity()方法,可以轻松的活动活动的实例,并且如果碎片需要使用一个Context对象时,也可以直接使用getActivity()方法,因为活动本身就是一个Context。
3) 最后就是碎片与碎片直接的通信,这个时候就需要使用它们相关联的活动做一个桥梁。来在一个碎片中获取到另一个碎片的实例。
3.碎片的状态和回调:
a) 运行状态:当一个碎片是可见的,并且和它关联的活动处于运行状态是,该碎片就是也处于运行状态。
b) 暂停状态:当一个活动进入暂停状态时,和它相关联的可见碎片就会进入到暂停状态。
c) 停止状态:通俗理解就是停止状态的碎片完全不可见。
d) 销毁状态:活动进入销毁状态,依附于他的碎片也会被销毁。还有就是如果通过调用FragmentTransation的remove()、replace()方法将碎片从活动中移除,但在事务提交之前并没有调用addToBackStack()方法的话,碎片也会进入到销毁状态。
e) 碎片特有的几个回调方法;
i. onAttach():当碎片和活动建立关联的时候调用
ii. onCreateView():为碎片创建视图(加载布局)调用
iii. onActivityCreated():确保与碎片关联的活动一定已经创建完毕的时候调用。
iv. onDestoryView():当与碎片关联的视图被移除的时候调用
v. onDetach():当碎片和活动解除关联的时候调用。
4.在碎片中也可以利用onSaveInstanceState()方法保存数据。因为进入停止状态的碎片有可能在内存不足的时候被回收。保存的数据在oncreate、oncreateview、onactivitycreated中都可以拿到。
5.安卓动态加载布局的技巧:(动态根据屏幕大小加载布局)
a) 使用限定符:(例如:layout-large:大屏幕的设备会使用这个文件夹下的布局)在不同的布局文件夹下放置不同的布局文件。
屏幕特征
限定符
描述
大小
small
提供给小屏幕设备使用的资源
normal
提供给中等屏幕
large
提供给大屏幕
xlarge
提供给超大屏幕
分辨率
ldpi
低分辨率:120dpi以下
mdpi
中等分辨率:120~160
hdpi
高分辨率:160~240
xhdpi
240到320
方向
land
横屏设备
port
竖屏设备
b) 使用最小宽度限定符:(例如:layout-sw600dp:表示屏幕宽度600dp以上才会用这个文件夹下面的布局)3.2版本以上才支持。
- 《第一行代码-Android》学习笔记(五)
- 《第一行代码》学习笔记--Android入门(五、六)
- 第一行代码Android学习(五)
- Android第一行代码学习笔记五----内容提供器
- 入门Android开发--第一行代码--笔记系列(五)
- 《第一行代码》学习记录(五)
- Android第一行代码学习笔记总结
- 《Android第一行代码》学习笔记
- 《Android第一行代码》学习笔记
- FrameLayout《第一行代码Android》学习笔记
- Android第一行代码学习笔记
- Android学习笔记_《第一行代码》
- 《第一行代码》Android 学习笔记
- 《第一行代码 Android》学习笔记1
- 《第一行代码-Android》学习笔记(一)
- 《第一行代码-Android》学习笔记(二)
- 《第一行代码-Android》学习笔记(三)
- 《第一行代码-Android》学习笔记(四)
- 《第一行代码-Android》学习笔记(三)
- 《第一行代码-Android》学习笔记(四)
- bs+json解析
- 五大算法之(2)动态规划
- kazoo在多进程下使用全局连接死锁问题
- 《第一行代码-Android》学习笔记(五)
- Java语言基础——第二回:Eclipse的下载安装汉化使用
- 数据仓库应用(三): SQL Server 2005的数据仓库应用--联机分析OLAP
- 【LeetCode】Unique Path Ⅱ
- 聊聊并发(三)Java线程池的分析和使用
- 期货价格的技术分析及原理
- spring+mybatis 一对多配置总结
- 一起来看看 windows10 这货吧
- 期货市场之反转形态分析