android中的Fragment

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值