Android中的Fragment使用详解
2015-01-19 17:39
513 查看
Android在3.0中引入了Fragments的概念,主要目的是在大屏幕设备上——例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大很多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment在你的应用中相当是一个模块化和可重用的组件,因为Fragment定义了它自己的布局,以及通过使用它自己的生命周期回调方法定义了它自己的行为,你可以将Fragment包含到多个Activity中。
Fragment知识概要:
1、Fragment可以作为Activity界面的一部分组成出现
2、可以在一个Activity中同时出现多个Fragment,并且一个Fragment也可以在多个Activity中使用
3、在Activity运行的过程中,可以添加、移除或替换Fragment
4、Fragment可以响应自己的输入事件,并且有自己的生命周期,它们的生命周期会受宿主Activity的生命周期影响
onCreateView():Fragment第一次绘制它的用户界面的时候,系统会调用此方法,为了绘制Fragment的UI,此方法必须返回一个View,如果不显示UI,返回null即可。
属性:
android:foreground设置前景图,在所有子视图的前面
android:foregroundGravity设置前景图的位置
加载方式
静态加载:在Activity的layout文件中声明Fragment,需要特别注意的是<fragment>中的android:name属性指定了在layout中实例化的Fragment类。android:id属性提供一个唯一ID和android:tag属性提供一个唯一字符串,必须要有一个。
动态加载:
撰写代码将Fragment添加到一个Activity layout中,add()添加一个Fragment(指定要添加的fragment和插入的View),与此类似的还有移除remove()、替换replace()。
处理Fragment事务:根据用户的交互情况,对Fragment进行添加、移除、替换,以及执行其他动作,提交给Activity的每一套变化被称为一个事务。
加载方式具体参考:Android中的Fragment使用详解之页面加载
生命周期参考:Android中的Fragment使用详解之生命周期
Fragment与Activity通信:
1、Fragment可调用getActivity()方法获取它所在的Activity
2、Activity可调用FragmentManager的findFragmentById()或findFragmentByTag()方法获取Fragment
Activity→Fragment:在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法
Fragment→Activity:需要在中定义一个内部回调接口,再让包含该Fragment的Activity实现该回调接口。这样Fragment可以调用该回调方法将数据传递给Activity。
实现详情参考:Android中的Fragment使用详解之数据传递
实例源码下载
Fragment知识概要:
1、Fragment可以作为Activity界面的一部分组成出现
2、可以在一个Activity中同时出现多个Fragment,并且一个Fragment也可以在多个Activity中使用
3、在Activity运行的过程中,可以添加、移除或替换Fragment
4、Fragment可以响应自己的输入事件,并且有自己的生命周期,它们的生命周期会受宿主Activity的生命周期影响
onCreateView():Fragment第一次绘制它的用户界面的时候,系统会调用此方法,为了绘制Fragment的UI,此方法必须返回一个View,如果不显示UI,返回null即可。
属性:
android:foreground设置前景图,在所有子视图的前面
android:foregroundGravity设置前景图的位置
加载方式
静态加载:在Activity的layout文件中声明Fragment,需要特别注意的是<fragment>中的android:name属性指定了在layout中实例化的Fragment类。android:id属性提供一个唯一ID和android:tag属性提供一个唯一字符串,必须要有一个。
动态加载:
撰写代码将Fragment添加到一个Activity layout中,add()添加一个Fragment(指定要添加的fragment和插入的View),与此类似的还有移除remove()、替换replace()。
处理Fragment事务:根据用户的交互情况,对Fragment进行添加、移除、替换,以及执行其他动作,提交给Activity的每一套变化被称为一个事务。
//获取Fragment管理者 FragmentManager fragmentManager = getFragmentManager(); //通过Fragment管理者开启一个事务的对象 FragmentTransaction beginTransaction = fragmentManager.beginTransaction();每一个事务都是同时执行一套变化,可以在一个事务中设置你所想执行的变化,包括add()、remove()、replace(),然后提交给Activity,必须调用commit()方法。如果允许用户通过按下BACK按键返回到前一个Fragment状态,调用commit()之前可以加入addToBackStack()方法。
加载方式具体参考:Android中的Fragment使用详解之页面加载
生命周期参考:Android中的Fragment使用详解之生命周期
Fragment与Activity通信:
1、Fragment可调用getActivity()方法获取它所在的Activity
2、Activity可调用FragmentManager的findFragmentById()或findFragmentByTag()方法获取Fragment
Activity→Fragment:在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法
Fragment→Activity:需要在中定义一个内部回调接口,再让包含该Fragment的Activity实现该回调接口。这样Fragment可以调用该回调方法将数据传递给Activity。
实现详情参考:Android中的Fragment使用详解之数据传递
实例源码下载
相关文章推荐
- Android Fragment使用详解
- Android fragment使用详解及案例
- Android Fragment详解,动态添加+静态使用+图+代码
- android Fragment动态加载的使用详解
- android开发之Fragment 的生命周期及使用方法详解
- Android Fragment使用详解
- android Fragment 的使用详解
- Android Fragment使用详解及生命周期
- Android Fragment使用详解
- android Fragment静态加载使用详解
- Android Fragment 使用详解
- Android Fragment使用详解
- 【Android】FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别
- Android Fragment使用详解
- android开发之Fragment 的生命周期及使用方法详解
- Android中的Fragment使用详解之页面加载
- Android中Fragment的解析和使用详解
- 详解Android开发中Fragment的使用
- Android FragmentTabHost 使用方法详解
- Android fragment使用详解及案例