@Override public void showNewCounter(int count) { Fragment fragment = CountingFragment.newInstance(count); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { fragment.setEnterTransition(new Slide(Gravity.END)); } getChildFragmentManager().beginTransaction() .addToBackStack(null) .setReorderingAllowed(true) .replace(R.id.holderFrame, fragment) .commitAllowingStateLoss(); }
public static void addFragmentToBackStack(FragmentManager fragmentManager, int containerId, AwesomeFragment fragment, PresentAnimation animation) { executePendingTransactionsSafe(fragmentManager); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.setReorderingAllowed(true); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); AwesomeFragment topFragment = (AwesomeFragment) fragmentManager.findFragmentById(containerId); if (topFragment != null) { topFragment.setAnimation(animation); transaction.hide(topFragment); } fragment.setAnimation(animation); transaction.add(containerId, fragment, fragment.getSceneId()); transaction.addToBackStack(fragment.getSceneId()); transaction.commit(); }
public void navigateToMovieDetailFragment(View sharedImageView, int movieId) { MovieDetailFragment fragment = MovieDetailFragment.create(movieId); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { fragment.setSharedElementEnterTransition(new DetailsTransition()); fragment.setEnterTransition(new Fade()); fragment.setExitTransition(new Fade()); fragment.setSharedElementReturnTransition(new DetailsTransition()); } fragmentManager.beginTransaction() .setReorderingAllowed(true) .addSharedElement(sharedImageView, ViewCompat.getTransitionName(sharedImageView)) .replace(containerId, fragment) .addToBackStack(null) .commitAllowingStateLoss(); } }
private void replaceToRootFragmentInternal(AwesomeFragment fragment) { FragmentManager fragmentManager = getChildFragmentManager(); FragmentHelper.executePendingTransactionsSafe(fragmentManager); AwesomeFragment topFragment = getTopFragment(); AwesomeFragment rootFragment = getRootFragment(); topFragment.setAnimation(PresentAnimation.Fade); rootFragment.setAnimation(PresentAnimation.Fade); topFragment.setUserVisibleHint(false); fragmentManager.popBackStack(rootFragment.getSceneId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.setReorderingAllowed(true); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); fragment.setAnimation(PresentAnimation.None); transaction.add(R.id.navigation_content, fragment, fragment.getSceneId()); transaction.addToBackStack(fragment.getSceneId()); transaction.commit(); }
private void replaceFragmentInternal(AwesomeFragment fragment) { FragmentManager fragmentManager = getChildFragmentManager(); FragmentHelper.executePendingTransactionsSafe(fragmentManager); AwesomeFragment topFragment = getTopFragment(); AwesomeFragment aheadFragment = FragmentHelper.getAheadFragment(fragmentManager, topFragment); topFragment.setAnimation(PresentAnimation.Fade); topFragment.setUserVisibleHint(false); if (aheadFragment != null) { aheadFragment.setAnimation(PresentAnimation.Fade); } fragmentManager.popBackStack(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.setReorderingAllowed(true); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); if (aheadFragment != null) { transaction.hide(aheadFragment); } fragment.setAnimation(PresentAnimation.None); transaction.add(R.id.navigation_content, fragment, fragment.getSceneId()); transaction.addToBackStack(fragment.getSceneId()); transaction.commit(); }
fragmentTransaction.setReorderingAllowed(true); fragmentTransaction.commitNowAllowingStateLoss();