Android学习之Fragment

一、关于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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值