Android基础知识& Android常用组件|青训营笔记

136 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第[2]天

Fragment

1.Fragment是一个小的activity,点击不同的item,会显示不同的界面,这个就是Fragment 可以在不同的activity中重复使用一个Fragment,所以可以将Fragment视为activity中的模块化的组成部分。

2.Fragment有自己的生命周期,并且必须委托在activity中才能运行,所以Fragment的生命周期受activity影响,当activity销毁了,那么Fragment也就没了。

3.当activity运行的时候,可以独立操作Fragment,动态的增加移除一些Fragment,可以自己接受输入的事件。

优势

1.代码复用 activity用来管理Fragment,因为一个Fragment可以被多个activity嵌套,有个共同的业务模块就可以复用。

2.模块化 Fragment具有自己的一个生命周期。但是也是受activity影响。

3.可控性 Fragment的生命周期是寄托到activity中,Fragment可以被attach添加和detach释放。

4.切换灵活 由于Fragment是构建在views之上的,所以很容易实现动画效果,因此Fragment在屏幕切换时具有更好的控制。

基本用法

1.创建Fragment布局文件

2.创建Fragment子类,加载布局文件

3.Activity加载Fragment

3.1 静态加载:布局中绑定

3.2 动态加载:FragmentManager加载

加载方式

1.静态加载

<fragment
    android:id="@+id/fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.example.demo.fragment.Fragment"/>

2.动态加载

2.1 getSupportFragmentManager():在Activity中使用Fragment的管理器,对所有Fragment进行管理。

2.2 getFragmentManager():与 getSupportFragmentManager()功能是一样的,只是是在Fragment中使用

2.3 getChildFragmentManager():在嵌套的Fragment中,内部的fragment创建,需要使用getChildFragmentManager()

生命周期


onAttach():Fragment和Activity相关联时调用。可以通过该方法获取Activity引用,还可以通过getArguments()获取参数。

onCreate():Fragment被创建时调用。

onCreateView():创建Fragment的布局。

onActivityCreated():当Activity完成onCreate()时调用。

onStart():当Fragment可见时调用。

onResume():当Fragment可见且可交互时调用。

onPause():当Fragment不可交互但可见时调用。

onStop():当Fragment不可见时调用。

onDestroyView():当Fragment的UI从视图结构中移除时调用。

onDestroy():销毁Fragment时调用。

onDetach():当Fragment和Activity解除关联时调用。