我喜欢这个的课件
v4支持包的流程
整个创建步骤
FragmentManager
.......
onAttach(): 当activity与fragment产生关联时回调的方法
onCreate(): 当fragment第一次被创建时回调的方法
onCreateView(): 当fragment第一次绘制用户界面时回调的方法
onActivityCreated(): 当前fragment所属的activity创建成功时回调的方法
onStart(): fragment能够被用户看到时回调的方法
onResume(): fragment能够获取用户焦点时回调的方法
onPause(): fragment失去用户焦点时回调的方法
onStop(): fragment完全被用户遮挡时回调的方法
onDestroyView(): activity中的fragment的视图被移除时回调的方法
onDestroy(): fragment被销毁时回调的方法
onDetach(): activity与fragment失去关联时回调的方法
动态切换实例代码:
requestWindowFeature(Window.FEATURE_NO_TITLE)
去掉Android原生的标题栏
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
见截图所示
如截图所示
如截图所示
见截图所示
静态使用方法
见截图所示
见截图所示
Fragment动态使用
创建Fragment的管理器对象
FragmentManager fragmentManager = getFragmentManager();
获取Fragment的事务对象并且开启事务
FragmentTransaction transaction = fragmentManager.beginTransaction();
调用事务中相应的动态操作Fragment的方法执行
transaction.add(R.id.title_layout, new TitleFragment());
第一个参数表示Fragment动态添加位置的资源id
第二个参数表示添加的Fragment对象
transaction.remove(需要移除的Fragment对象)
transaction.replace(表示替换Fragment位置的资源id,表示替换Fragment对象)
提交事务
transaction.commit();
LayoutInflator inflater 表示布局填充器,将xml文件转换成view对象
ViewGroup container 表示当前Fragment插入activity的布局视图对象
Bundle savedInstanceState 存储上一个Fragment的信息
静态引用:像其余view组件一样,重要属性name = "表示引入fragment的包名.类名"
创建和使用Fragment的步骤:
创建子类继承Fragment
重写onCreateView()方法,该方法主要定义Fragment的布局,以view对象的形式返回Fragment的视图
将Fragment引入到activity中
//创建Fragment的管理器模式
FragmentManager manager = getFragmentManager();
//获取Fragment的事务对象并且开启事务
FragmentTransaction transaction = manager.beginTransaction();
//调用事务中相应的动态操作Fragment的方法执行
add(表示fragment动态添加位置的资源id,表示添加的fragment对象)
transaction.add(R.id.title_layout,new TitleFragment());
//将TitleFragment动态添加到title_layout的位置
transaction.add(R.id.content_layout,new ContentFragment());
//remove(需要移除的fragment对象)
transaction.remove(arg0);
//replace(表示替换fragment位置的资源id,表示替换fragment对象)
transaction.replace(arg0,arg1);
//提交事务
transaction.commit();
requestWindowFeature(Window.FEATURE_NO_TITLE);
//去除标题栏
android:name=“”表示引入fragment的包名.类名