Android Fragment 的基本使用
转载请注明出处: https://mp.csdn.net/postedit/80368582
记得第一次接触Fragment,觉得好牛叉的组件,可以做许多Activity可以做的事,辅助Activity让功能可以做得更加强大;一次编写,可以多个地方可以使用,解放了Activity。在这里,本篇文章主要是总结fragment的基本使用以及使用过程中容易出现的错误;
说了这么多,那么到底什么是Fragment呢?
1、什么是Fragment?
简单来说,Fragment其实可以理解为一个具有自己生命周期的控件,只不过这个控件又有点特殊,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管 。
说白了:Fragment也是用来显示的;就是可以把“按钮(Button)”、“文本(TextView)”等组件放在上面,再通过“onCreateView”方法返回的“view”,在“Activity”中显示出来。但是,Fragment的显示依赖于“Activity”,需要通过“Activity”将其展示出来,它本身不具有显示的功能。
Fragment,也简称为:碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。
过去support-v4库是一个jar包,24.2.0版本开始,将support-v4库模块化为多个jar包,包含:support-fragment, support-ui, support-media-compat等,这么做是为了减少APK包大小,你需要用哪个模块就引入哪个模块。
因为support库是不断更新的,因此建议使用support库中的android.support.v4.app.Fragment,而不要用系统自带的android.app.Fragment。而如果要使用support库的Fragment,Activity必须要继承FragmentActivity(AppCompatActivity是FragmentActivity的子类)。
2、特点
- Fragment 是依赖于 Activity 的,不能独立存在的。
- 一个 Activity 里可以有多个 Fragment。
- 一个 Fragment 可以被多个 Activity 重用。
- Fragment 有自己的生命周期,并能接收输入事件。
- 我们能在 Activity 运行时,动态地添加或删除 Fragment。
3、Fragment的优势有以下几点:
- 模块化(Modularity):我们不必把所有代码全部写在Activity中,而是把代码写在各自的Fragment中。
- 可重用(Reusability):多个Activity可以重用一个Fragment。
- 可适配(Adaptability):根据硬件的屏幕尺寸、屏幕方向,能够方便地实现不同的布局,这样用户体验更好。
好啦!说了这么多;我们的最终目的不就是学会用怎么使用它嘛;接下来,就是实现怎么使用 Fragment
实现步骤:
1、创建一个类(Fragment1) 继承 Fragment(注意:继承的是“v4”底下的包);并重写里面的“onCreateView”方法
再通过该方法中的参数适配器“inflater”,找到要显示的布局文件,并返回“View”。
2、创建 Fragement 布局文件
这里创建的布局文件就是 Fragment 所要显示的内容;这里的布局很简单就是单纯的一个(TextView);我们这里是引入 Fragment的使用,所以使用的布局相对简单些
好了!现在 Fragment 创建了、要显示的布局内容也创建好了。现在莫不过于就是把它显示出来
Fragment 的显示方式主要有两种,分别是:“静态添加” 和 “动态添加”
- 静态添加:通过xml的方式添加,缺点是一旦添加就不能在运行时删除。
- 动态添加:运行时添加,这种方式比较灵活,因此建议使用这种方式。
静态方式:
动态添加
注意:这里的获取(fragmentManager)是通过方法“getSupportFragmentManager()”;导入的包是(v4)底下的包;这里是根据我们上面所创建的Fragment 所继承的类型,所匹配的;因为上面所创建的Fragment是继承于“Fragment(v4)”底下的包;所以这里也是一样。
问题:获取的不是 “v4” 包底下的 “FragementManager” 对象,将报以下的错误
Activity的布局
运行效果:
到此,Fragment的基本使用以及所显示的方式就介绍到这里。
希望以上的文章对大家有所帮助。
最后再次,感谢您看完这篇文章。