标题图
碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。Fragment
的出现,如微信的额主界面包含多个Fragment
,使得微信功能更加简洁明了。
Android Fragment用法的讲解.png
Android Fragment组件.png
Fragment
是Android 3.0
的时候被引入的,主要目的是为了给大屏幕(如平板电脑)添加动态和灵活的UI支持。利用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
适用于页面较少的情况,把UI
分离,并没有回收,FragmentStatePagerAdapter
适用于页面较多的情况,每次切换会回收内存的。
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通信.png
MyFragment myFragment = (MyFragment)fragmentManager(). findFragmentById(R.id.layout);
MainActivity activity=(MainActivity)getActivity();
replace()
为FragmentManager
的方法。add()
添加remove()
删除Java
、 Android
中的其他知识 深入讲解 ,有兴趣可以继续关注