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()
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()
相关文章推荐
- android studio svn版本控制详解
- ListView,ScrollView,RecyclerView被HorizontalScrollView嵌套,加载图片
- Android studio 中引用jar的其实是Maven?(二)
- Android studio 中引用jar的其实是Maven?(二)
- Android studio 中引用jar的其实是Maven?(二)
- Android在循环中调用findViewById();
- Android studio 中引用jar的其实是Maven?(一)
- Android studio 中引用jar的其实是Maven?(一)
- Android studio 中引用jar的其实是Maven?(一)
- Android手机通讯录批量添加方法
- Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation
- Android Studio 如何打JAR包
- Android Studio 如何打JAR包
- Android Studio 如何打JAR包
- Android 动态加载(防止逆向编译) jar混淆加密
- android Context 持有导致的内存泄漏
- Android热补丁技术—dexposed原理简析(手机淘宝采用方案)
- Android热补丁技术—dexposed原理简析(手机淘宝采用方案)
- Android热补丁技术—dexposed原理简析(手机淘宝采用方案)
- [置顶] Android 5.1 open data flow 数据开启流程