1.碎片(Fragment)
一种可以嵌入在活动中的 UI 片段,
2.生命周期:
2.1 碎片的状态和回调
运行状态,暂停状态,停止状态,销毁状态
1.运行状态
碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行状态。
2.暂停状态
当一个活动进入暂停状态时,(由于另一个未占满屏幕的活动被添加到了栈顶),与它相关联的可见碎片就会进入到暂停状态。
3.停止状态
当一个活动进入停止时,与它相关联的碎片就会进入到停止状态,或者通过调用 FragmentTransaction 的 remove()、replace() 方法将碎片从活动中移除,但如果在事务提交之前调用 addToBackStack()方法,这时的碎片也会进入到停止状态。总的来说,进入停止状态的碎片对用户来说是完全不可见的,有可能会被系统回收。
4.销毁状态
碎片总是依附于活动而存在的,因此活动销毁与它相关联的碎片也销毁。或者通过调用 FragmentTransaction 的 remove()、replace() 方法将碎片从活动中移除,但 在事务提交之前并没有调用 addToBackStack() 方法,这时的碎片也会进入到销毁状态。
Fragment 类中也提供了一系列的回调方法,以覆盖碎片生命周期的每个环节。活动有的回调方法,碎片中几乎都有,碎片还附加一些回调方法。
onAttach() 当碎片和活动建立关联时调用
onCreateView() 为碎片创建视图(加载布局)时调用
onActivityCreated() 确保与碎片相关联的活动一定已经创建完毕的时候调用
onDestroyView() 当与碎片关联的视图被移除的时候调用
onDetach() 当碎片和活动解除关联的时候调用。
![](https://img.haomeiwen.com/i6171290/97013c8436056883.png)
三.动态加载布局
3.1 使用限定符
Qualifiers
Android 常见的限定符
![](https://img.haomeiwen.com/i6171290/d3fcf0277678116e.png)
![](https://img.haomeiwen.com/i6171290/2a31c73bf76beb55.png)
3.2 使用最小宽度限定符
有时我们希望可以更加灵活地为不同设备加载布局,不管它们是不是被系统认定为 large ,这时就可以使用最小宽度限制符(Smallest-widthQualifier)了
最小宽度限制符允许我们对屏幕的宽度指定一个最小值(dp为单位),然后以这个最小值为临界点,屏幕宽度大于这个值的设备就加载一个布局,屏幕宽度小于这个值的设备就加载另一个布局。
4.实践:简易版的新闻应用
以上,日后继续补充
网友评论