Android Fragment用法的讲解
碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。Fragment
的出现,如微信的额主界面包含多个Fragment
,使得微信功能更加简洁明了。
Fragment组件
Fragment
是Android 3.0
的时候被引入的,主要目的是为了给大屏幕(如平板电脑)添加动态和灵活的UI支持。利用Fragment
实现更好的用户体验。
Fragment加载
- 静态加载:添加
Fragment
到Activity
布局中,以xml
的形式。 - 动态加载:
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
//动态加载
MyFragment fragment = new MyFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
beginTransaction.add(R.id.layout,fragment);
beginTransaction.addToBackStack(null);
beginTransaction.commit();
第一步,获取一个FragmentManager
对象,getFragmentManager()
方法,beginTransaction()
。
第二步,beginTransaction.add()
,add()
方法,容器视图资源Id
。
第三步,调用addToBackStack(true)
方法,目的为了允许用户通过按下返回按键返回到前一个Fragment
状态,beginTransaction.commit()
提交。
FragmentPagerAdapter和FragmentStatePagerAdapter
FragmentPagerAdapter
适用于页面较少的情况,把UI
分离,并没有回收,FragmentStatePagerAdapter
适用于页面较多的情况,每次切换会回收内存的。
Fragment生命周期
Fragment
有四种状态:运行状态,暂停状态,停止状态,销毁状态。
图片来源官方:
onAttach():
一旦片段与其活动相关联就被调用;
onCreate():
片段被调用创建;
onCreateView():
创建并返回相关的视图结构;
onActivityCreated():
表示活动已被创建完成了,这里是activity创建成功;
onStart():
片段对用户可见;
onResume():
片段与用户开始交互;
onPause():
片段与用户不再交互;
onStop():
片段不再对用户可见;
onDestroyView():
销毁与其View相关资源;
onDestroy():
销毁一切片段;
onDetach():
片段与其活动不再相关联。
打开界面:
onCreate()
->onCreateView()
->onActivityCreated()
->onStart()
->onResume()
Home:
onPause()
->onStop()
回到界面:
onStart()
->onResume()
回退:
onPause()
->onStop()
->onDestroyView()
->onDestroy()
->onDetach()
Fragment通信
MyFragment myFragment = (MyFragment)fragmentManager(). findFragmentById(R.id.layout);
MainActivity activity=(MainActivity)getActivity();
Fragment方法
replace()
为FragmentManager
的方法。add()
添加remove()
删除
结语
本文主要讲解 Android Fragment用法知识点的讲解
下面我将继续对
Java
、Android
中的其他知识 深入讲解 ,有兴趣可以继续关注小礼物走一走 or 点赞