@Override @Nullable public Transition getSharedElementTransition(@NonNull ViewGroup container, @Nullable View from, @Nullable View to, boolean isPush) { return new TransitionSet().addTransition(new ChangeBounds()).addTransition(new ChangeClipBounds()).addTransition(new ChangeTransform()); }
public static @Nullable Transition findTransition( @NonNull TransitionSet set, @NonNull Class<? extends Transition> clazz) { for (int i = 0; i < set.getTransitionCount(); i++) { Transition transition = set.getTransitionAt(i); if (transition.getClass() == clazz) { return transition; } if (transition instanceof TransitionSet) { Transition child = findTransition((TransitionSet) transition, clazz); if (child != null) return child; } } return null; }
@NonNull public static TransitionSet mergeTransitions(int ordering, Transition... transitions) { TransitionSet transitionSet = new TransitionSet(); for (Transition transition : transitions) { if (transition != null) { transitionSet.addTransition(transition); } } transitionSet.setOrdering(ordering); return transitionSet; }
@Override public void onSwipeFinish(int dir) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setReturnTransition(new TransitionSet() .setOrdering(TransitionSet.ORDERING_TOGETHER) .addTransition(new Slide(dir > 0 ? Gravity.TOP : Gravity.BOTTOM)) .addTransition(new Fade()) .setInterpolator(new AccelerateDecelerateInterpolator())); } this.finish(); }
Window window = getWindow(); TransitionSet set = new TransitionSet(); set.addTransition(new ChangeImageTransform()); set.addTransition(new ChangeBounds()); set.setDuration(duration); set.addListener(yourTransitionListener) window.setSharedElementEnterTransition(set);
TransitionSet shared = ... shared.addTarget("sharedName"); gridElement.setTransitionName("sharedName"); Fade fade = new Fade(); fade.excludeTarget("sharedName", true); TransitionSet set = new TransitionSet(); set.addTransition(shared) .addTransition(fade); TransitionManager.go(detailScene, set);
@TargetApi(Build.VERSION_CODES.KITKAT) private TransitionSet createTransitionSet() { ChangeBounds changeBounds = new ChangeBounds(); changeBounds.addTarget(dropDownContainer); Fade fade = new Fade(); fade.addTarget(emptyDropDownSpace); TransitionSet transitionSet = new TransitionSet(); transitionSet.addTransition(changeBounds); transitionSet.addTransition(fade); transitionSet.setInterpolator(new AccelerateDecelerateInterpolator()); transitionSet.addListener(new TransitionListenerAdapter() { @Override public void onTransitionStart(Transition transition) { super.onTransitionStart(transition); isTransitioning = true; } @Override public void onTransitionEnd(Transition transition) { super.onTransitionEnd(transition); isTransitioning = false; } }); return transitionSet; }
private void init() { setOrdering(ORDERING_TOGETHER); this.addTransition(new ChangeBounds()) .addTransition(new ChangeTransform()) .addTransition(new ChangeImageTransform()); } }
final TransitionSet set = new TransitionSet(); set.setDuration(10000); set.setOrdering(TransitionSet.ORDERING_TOGETHER); set.addTarget(R.id.circle_logo); set.addTarget(R.id.title_logo); set.addTransition(fadeIn); set.addTransition(bounds);
private void performTransition() { if (isDestroyed()) { return; } Fragment previousFragment = mFragmentManager.findFragmentById(R.id.fragment_container); Fragment nextFragment = Fragment2.newInstance(); FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); // 1. Exit for Previous Fragment Fade exitFade = new Fade(); exitFade.setDuration(FADE_DEFAULT_TIME); previousFragment.setExitTransition(exitFade); // 2. Shared Elements Transition TransitionSet enterTransitionSet = new TransitionSet(); enterTransitionSet.addTransition(TransitionInflater.from(this).inflateTransition(android.R.transition.move)); enterTransitionSet.setDuration(MOVE_DEFAULT_TIME); enterTransitionSet.setStartDelay(FADE_DEFAULT_TIME); nextFragment.setSharedElementEnterTransition(enterTransitionSet); // 3. Enter Transition for New Fragment Fade enterFade = new Fade(); enterFade.setStartDelay(MOVE_DEFAULT_TIME + FADE_DEFAULT_TIME); enterFade.setDuration(FADE_DEFAULT_TIME); nextFragment.setEnterTransition(enterFade); View logo = ButterKnife.findById(this, R.id.fragment1_logo); fragmentTransaction.addSharedElement(logo, logo.getTransitionName()); fragmentTransaction.replace(R.id.fragment_container, nextFragment); fragmentTransaction.commitAllowingStateLoss(); }
final TransitionSet transition = new TransitionSet(); transition.addTransition(transition1); ChangeTransform transition2 = new ChangeTransform(); transition.addTransition(transition2); ChangeClipBounds transition3 = new ChangeClipBounds(); transition.addTransition(transition3); ChangeImageTransform transition4 = new ChangeImageTransform(); transition.addTransition(transition4); transition.setDuration(SHARED_ELEMENT_TRANSITION_DURATION); transition.setPathMotion(pathMotion);
@Override public void onSwipeFinish(int dir) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setReturnTransition(new TransitionSet() .addTransition(new Slide(dir > 0 ? Gravity.TOP : Gravity.BOTTOM)) .setInterpolator(new AccelerateDecelerateInterpolator())); } onBackPressed(); }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public DetailsTransition() { setOrdering(ORDERING_TOGETHER); addTransition(new ChangeBounds()) .addTransition(new ChangeTransform()) .setStartDelay(25) .setDuration(350) .addTransition(new ChangeImageTransform()); } }
getWindow().setSharedElementExitTransition(new TransitionSet(). addTransition(new Fade().addTarget("text"));
private void setupTransitionSets() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { shadowFadeOutAnimator = ObjectAnimator.ofFloat(emptyDropDownSpace, View.ALPHA, 0f); shadowFadeOutAnimator.setDuration(COLLAPSE_TRANSITION_DURATION); shadowFadeOutAnimator.setInterpolator(new AccelerateInterpolator()); shadowFadeOutAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); emptyDropDownSpace.setVisibility(View.GONE); emptyDropDownSpace.setAlpha(1f); } }); expandTransitionSet = createTransitionSet(); collapseTransitionSet = createTransitionSet(); collapseTransitionSet.setDuration(COLLAPSE_TRANSITION_DURATION); } }
@Nullable @RequiresApi(21) private Transition getTransition(int resId) { if (resId != 0) { final TransitionInflater inflater = TransitionInflater.from(mApplicationContext); final Transition transition = inflater.inflateTransition(resId); if (transition != null) { final boolean isEmpty = transition instanceof TransitionSet && ((TransitionSet) transition).getTransitionCount() == 0; if (!isEmpty) { return transition; } } } return null; } }
@Override public void onSwipeFinish(int dir) { if (recyclerViewAdapter.isSelectorModeActive()) { recyclerViewAdapter.cancelSelectorMode(null); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setReturnTransition(new TransitionSet() .setOrdering(TransitionSet.ORDERING_TOGETHER) .addTransition(new Slide(dir > 0 ? Gravity.TOP : Gravity.BOTTOM)) .addTransition(new Fade()) .setInterpolator(new AccelerateDecelerateInterpolator())); } finish(); }
Window window = getWindow(); TransitionSet set = new TransitionSet(); set.addTransition(new ChangeImageTransform()); set.addTransition(new ChangeBounds()); set.setDuration(duration); set.addListener(yourTransitionListener) window.setSharedElementEnterTransition(set);
private void init() { setOrdering(ORDERING_TOGETHER); addTransition(new ChangeBounds()). addTransition(new ChangeTransform()). addTransition(new ChangeImageTransform()); } }
private void beginDelayedTransition(ViewGroup view) { TransitionSet mSet = new AutoTransition(); mSet.setDuration(300); TransitionManager.beginDelayedTransition(view, mSet); }