前言
記錄一些Navigation下的NavOptions的使用記錄
返回某個Fragment並且傳遞數據
返回到棧里的某個Fragment,會將在這需要跳轉的Fragment的棧前的Fragment全部清出。
Bundle bundle = new Bundle(); bundle.putString(CommunityFragment.CITY_NAME_KEY, bean.getName()); NavOptions navOptions = new NavOptions.Builder() .setPopUpTo(R.id.communityFragment, false) .build(); Navigation.findNavController(getView()).navigate(R.id.communityFragment, bundle, navOptions);
跳轉Fragment帶動畫
NavOptions navOptions = new NavOptions.Builder() .setEnterAnim(R.anim.from_right) //進入動畫 .setExitAnim(R.anim.to_left) //退出動畫 .setPopEnterAnim(R.anim.to_left) //彈出進入動畫 .setPopExitAnim(R.anim.from_right) //彈出退出動畫 .build(); controller.navigate(R.id.action_oneFragment_to_twoFragment, null , navOptions);
單例模式(復用Fragment)
navigation.shouldLaunchSingleTop()
End