碎片是什么
碎片(Fragment)是一种可以嵌入在活动中的UI片段,他能让程序更加合理和充分地利用大屏幕的空间
碎片的使用方式
- 碎片通常实在平板中使用的
碎片的简单用法
- fragment标签在布局中添加碎片,android:name属性用来显式指定要添加的碎片类名,一定要写全名(包括包名)
动态添加碎片
创建待添加的碎片实例
AnotherRightFragment fragment = new AnotherRightFragment();获取FragmentManager,在活动中可以直接调用getFragmentManager()方法得到
FragmentManager fragmentManager = getFragmentManager();开启一个事务,通过beginTransaction()方法开启
FragmentTransaction transaction = fragmentManager.beginTransaction();向容器内加入碎片,一般使用replace()实现,需要传入容器的id和带添加的碎片实例
transaction.replace(R.id.right_layout,fragment);提交事务,调用commit方法来完成
transaction.commit();
在碎片中模拟返回栈
FragmentTransaction提供了一个addToBackStack()方法,可以将一个事务添加到返回栈中
transaction.addToBackStack(null);
碎片和活动之间的通信
- 碎片都是嵌入在活动中显示的
调用FragmentManager的findFragmentById()方法,可以在活动中相应碎片的实例
RightFragment rightFragment = (RightFragment)getFragmentManager.findFragmentById(R.id.right_fragment);在碎片中可以调用getActivity()方法来得到和当前碎片相关联的活动
MainActivity activity = (MainActivity)getActivity();
碎片的生命周期
- 碎片一共有运行、暂停、停止、销毁四种状态
- 碎片是依附活动而存在的
- 碎片独特的方法:
- onAttach():当碎片和活动建立关联时调用
- onCreateView:为碎片创建视图(加载布局)时使用
- onActivityCreated:确保与碎片相关联的活动一定已经创建完毕的时候调用
- onDestroy:但与碎片相关联的视图被移除是调用
- onDetach:当碎片和活动解除关联的时候调用
动态加载布局的技巧
使用限定符
使用最小宽度限定符
- 最小宽度限定符允许我们对屏幕的宽度指定一个最小指(以 dp 为单位) ,然后以这个最小值为临界点,屏幕宽度大于这个值的设备就加载一个布局,屏幕宽度小于这个值的设备就加载另一个布局
本文介绍了Android开发中的碎片(Fragment)概念及其使用方式。碎片是一种UI片段,可以嵌入到活动中,适用于平板等大屏设备,充分利用屏幕空间。文章详细讲解了如何在布局文件中声明碎片、动态添加碎片以及如何在碎片和活动间进行通信。
1142

被折叠的 条评论
为什么被折叠?



