android中的Fragment

来源:互联网 发布:免流端口 编辑:程序博客网 时间:2024/05/20 11:52

android中的Fragment

依赖于activity

生命周期类似,多了onAttach,onDetach,onCreateView,onDestroyView,onActivityCreated


示例:

 Fragment newFragment = CountingFragment.newInstance(mStackLevel);        // Add the fragment to the activity, pushing this transaction        // on to the back stack.        FragmentTransaction ft = getFragmentManager().beginTransaction();        ft.setCustomAnimations(R.animator.fragment_slide_left_enter,                R.animator.fragment_slide_left_exit,                R.animator.fragment_slide_right_enter,                R.animator.fragment_slide_right_exit);        ft.replace(R.id.simple_fragment, newFragment);        ft.addToBackStack(null);        ft.commit();



add,replace第一个参数是android.R.id.content或自定义的容器例如FrameLayout

add,replace,remove后要使用事务提交


show与hide不涉及生命周期


手动addToBackStack到回退栈中(默认remove会销毁,除非手动add了),回退调用 getFragmentManager().popBackStack();或onBackPressed();

切换可以setCustomAnimations动画

或  ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);// 使用预置的某些动画


交互:

设置回调

activity可以setAugment添加类似extras的交互数据

getActivity()得到宿主activity,再根据id或tag得到其他Fragment

onCreate时设置setHasOptionsMenu才能在actionBar中的onCreateOptionMenu得到响应,供activity交互


相关:

FragmentPagerAdapter

FragmentStatePagerAdapter

ViewPager

Activity


0 0
原创粉丝点击