Fragment简称碎片.
是⼀种可以嵌⼊在
Activity
当中的
UI
⽚段,它能让程序更加合理
和充分地利⽤⼤屏幕的空间,因⽽在平板上应⽤得⾮常⼴泛。
创建平板模拟器
①
②
③
一直next 然后finish 在选择启动就可以了.
动态添加
Fragment
有五步
(1)
创建待添加
Fragment
的实例。
(2)
获取
FragmentManager
,在
Activity
中可以直接调⽤ getSupportFragmentManager()⽅法获取。
(3)
开启⼀个事务,通过调⽤
beginTransaction()
⽅法开启。
(4)
向容器内添加或替换
Fragment
,⼀般使⽤
replace()
⽅法实现,需要传⼊容器的id
和待添加的
Fragment
实例。
(5)
提交事务,调⽤
commit()
⽅法来完成。
和
Activity
⼀样,
Fragment
也有⾃⼰的⽣命周期.并且与Activity有一定的相似度.
每个
Activity在其⽣命周期内有以下四种状态.分别是运⾏状态、暂停状态、停⽌状态和销毁状态.
我们能在Activity运行时动态地添加或删除Fragment。
Fragment
还提供了⼀些附加的回调⽅法
重要的有以下几个.
onAttach()
:当
Fragment
和
Activity
建⽴关联时调⽤。
onCreateView()
:为
Fragment
创建视图(加载布局)时调⽤。
onActivityCreated()
:确保与
Fragment
相关联的
Activity
已经
创建完毕时调⽤。
onDestroyView()
:当与
Fragment
关联的视图被移除时调⽤。
onDetach()
:当
Fragment
和
Activity
解除关联时调⽤。
动态加载布局的技巧
限定符(
qualififier):
在运⾏时判断程序应该是使⽤双⻚模式还是单⻚模式由限定符判断.
Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影响。例如:当activity暂停时,它拥有的所有的Fragment们都暂停了,当activity销毁时,它拥有的所有Fragment们都被销毁。然而,当activity运行时(在onResume()之后,onPause()之前),你可以单独地操作每个Fragment,比如添加或删除它们。当你在执行上述针对Fragment的事务时,你可以将事务添加到一个栈中,这个栈被activity管理,栈中的每一条都是一个Fragment的一次事务。有了这个栈,就可以反向执行Fragment的事务,这样就可以在Fragment级支持“返回”键(向后导航)。