您的位置:首页 > 移动开发 > Android开发

android学习之fragment(占位)

2016-03-21 20:26 585 查看
一、关于fragment

fragmentchan引入于android3.0,引入的目的是为了解决多屏、大屏分屏、一个activity多个界面等问题。fragment相对于activity,响应速度更加快,内存占用更少、切换动画更加丰富。一个app,在不同屏幕下的表现可能有所差别,在横屏竖屏也可能有所差别,不可能每种屏幕都做不同的代码,所以引入fragment解决这个问题。

二、fragment的生命周期



与activity生命周期对比



收集张哥画的图,有空再对着源码消化



三、fragment的静态使用

xml中声明<fragment>标签,name属性指定fragment



在MessageListFragment的onCreateView中inflate出layout,inflate出来的layout不是一个fragment控件,而是fragment构造出来的view

四、fragment的动态使用

一般动态fragment有以下步骤:

1、获取fragmentManager,mFragmentManager = activity.getFragmentManager();

2、获取fragementTransaction,ft = mFragmentManager.beginTransaction()

3、通过fragmentTransaction添加fragment,保证一系列fragment操作的原子性



ft.add()往activity添加fragment

ft.remove()从activity移除fragment

ft.replace()使用另外一个fragment替换当前的,实际上就是先remove再add

ft.commit()提交事务,保证添加fragment的原子操作

五、fragment的管理

六、fragment切换动画

注意:

1、fragment最好通过setArgument设置参数,不要通过构造函数传参

2、fragment中获取activity:getActivity()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: