Android开发(30) Fragment的使用
来源:互联网 发布:湖南大学的校园网域名 编辑:程序博客网 时间:2024/06/06 02:37
一 Fragment简介
Fragment是我们可以将Activity分成不同的组成部分,这些组成部分拥有自己的生命周期和UI。
它的最大用途在于适配不同的屏幕。
二 创建Fragment
Fragment和Activity有很多相似之处,例如可以不带UI,但这样做对两者似乎都没什么意义。他们的创建方式也很相似,例如下面的代码:
三 Fragment生命周期
Fragment的生命周期和它的宿主Activity密切相关,几乎和宿主Activity的生命周期一致,
他们之间最大的不同在于Activity可以增加或删除Fragment。下图总结了Fragment的生命周期:
四 获取Fragment Manager
每个Activity对象都内置了一个FragmentManager对象,使用getFragmentManager()即可获得:
FragmentManager fragmentManager = getFragmentManager();
五 添加Fragment到Activity中
在Activity中添加Fragment的最简单方法是使用layout配置文件,例如:
调用inflate方法生成Fragment的界面后,Fragment实际上是一个类似ViewGroup的角色,在Activity中管理自己的UI。
上面那种将Fragment添加到Activity的方法缺乏灵活性,不能实现动态地添加和删除,
更好的方式是使用FragmentTranaction和类似下面这样的配置文件:
六 使用FragmentTransaction
原理和Activity类似,调用addToBackStack()后,Fragment会被push到back stack中,而不是销毁。
十一 Fragment Transaction的动画效果
Fragment Transaction有两种方法实现动画效果,分别是
11.1 设置渐进:11.2 设置动画效果:
fragmentTransaction.setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_right);
十二 Fragment和宿主Activity之间的接口
12.1 Fragment可以通过getActivity()方法获得宿主Activity对象:
TextView textView = (TextView)getActivity().findViewById(R.id.textview);
12.2 另一种常见的Fragment和Activity之间的交互方式是使用回调函数:
十三 没有UI的Fragment
尽管不常见,但Fragment的确是可以没有UI的,好处也许是拥有了更灵活的生命周期控制。没有UI的Fragment生命周期事件有这些:十四 常用的Fragment类
14.1 DiagFragment
14.2 ListFragment
14.3 webViewFragment
- Android开发(30) 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 Fragment 的使用
- Android Fragment的使用
- Android Fragment的使用
- Android---fragment的使用
- Android Fragment的使用
- 第十一周项目-当年第几天
- [JS]定时执行的处理类PeriodicalExecuter 介绍(可以替代setInterval)
- [LeetCode]Palindrome Number 判断二进制和十进制是否为回文
- Attempted to lock an already-locked dir异常解决方法
- ZOJ-2091-Mean of Subsequence (反证法的运用!!)
- Android开发(30) Fragment的使用
- cocos2d-x 场景切换
- 学学MyBatis(一)
- Cocos2dx 3.0 正式版本开发环境搭建
- [文件系统]应用层编程(一)
- openfire的服务器配置、部署
- win7、XP下ftp服务器配置方法
- 赫夫曼编码
- 滚动数组