@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()); }
ChangeTransform transition2 = new ChangeTransform(); transition.addTransition(transition2); ChangeClipBounds transition3 = new ChangeClipBounds(); transition.addTransition(transition3); ChangeImageTransform transition4 = new ChangeImageTransform(); transition1.setInterpolator(interpolator); transition2.setInterpolator(interpolator); transition3.setInterpolator(interpolator); transition4.setInterpolator(interpolator);
@Nullable @Override public Transition getSharedElementTransition(@NonNull ViewGroup container, @Nullable final View from, @Nullable View to, boolean isPush) { Transition transition = new TransitionSet().addTransition(new ChangeBounds()).addTransition(new ChangeClipBounds()).addTransition(new ChangeTransform()); transition.setPathMotion(new ArcMotion()); // The framework doesn't totally fade out the "from" shared element, so we'll hide it manually once it's safe. transition.addListener(new TransitionListener() { @Override public void onTransitionStart(Transition transition) { if (from != null) { for (String name : sharedElementNames) { View namedView = TransitionUtils.findNamedView(from, name); if (namedView != null) { namedView.setVisibility(View.INVISIBLE); } } } } @Override public void onTransitionEnd(Transition transition) { } @Override public void onTransitionCancel(Transition transition) { } @Override public void onTransitionPause(Transition transition) { } @Override public void onTransitionResume(Transition transition) { } }); return transition; }
@Override Transition getTransition() { return new ChangeClipBounds(); } }
getWindow().setReturnTransition(new Fade()); getWindow().setSharedElementExitTransition(new ChangeClipBounds()); getWindow().setSharedElementEnterTransition(new ChangeClipBounds()); getWindow().setSharedElementReenterTransition(new ChangeClipBounds()); getWindow().setSharedElementReturnTransition(new ChangeClipBounds());