Slide 1

Slide 1 text

www.bignerdranch.com android.transition ! Bolot Kerimbaev [email protected] ! 16 January 2014

Slide 2

Slide 2 text

www.bignerdranch.com Transitions android.transition New in KitKat 4.4 But back ported

Slide 3

Slide 3 text

www.bignerdranch.com XML

Slide 4

Slide 4 text

www.bignerdranch.com XML

Slide 5

Slide 5 text

www.bignerdranch.com XML scene = Scene.getSceneForLayout(sceneRoot, R.layout.scene, this); ! transitionManager = inflater .inflateTransitionManager(R.transition.transitions_mgr, sceneRoot); ! transitionManager.transitionTo(scene);

Slide 6

Slide 6 text

www.bignerdranch.com Delayed transition TransitionManager.beginDelayedTransition(view); button.setText(“New button text!”); textView.setVisibility(View.VISIBLE);

Slide 7

Slide 7 text

www.bignerdranch.com Scenes ViewGroup view = inflater.inflate(R.layout.first, container, false); Scene scene = new Scene(container, view); TransitionManager.go(scene);

Slide 8

Slide 8 text

www.bignerdranch.com Scenes & transitions ViewGroup view = inflater.inflate(R.layout.first, container, false); Scene scene = new Scene(container, view); Transition transition = createTransition(); TransitionManager.go(scene, transition);

Slide 9

Slide 9 text

www.bignerdranch.com Customized transitions ChangeBounds changeBounds = new ChangeBounds(); ! Fade fadeOut = new Fade(Fade.OUT); Fade fadeIn = new Fade(Fade.IN); ! TransitionSet transition = new TransitionSet() .setOrdering(TransitionSet.ORDERING_SEQUENTIAL) .addTransition(fadeOut) .addTransition(changeBounds) .addTransition(fadeIn); ! TransitionManager.go(scene, transition);

Slide 10

Slide 10 text

www.bignerdranch.com Customized transitions ChangeBounds changeBounds = new ChangeBounds() .setInterpolator(new AnticipateOvershootInterpolator()); ! Fade fadeOut = new Fade(Fade.OUT); Fade fadeIn = new Fade(Fade.IN); ! TransitionSet transition = new TransitionSet() .setOrdering(TransitionSet.ORDERING_SEQUENTIAL) .addTransition(fadeOut) .addTransition(changeBounds) .addTransition(fadeIn); ! TransitionManager.go(scene, transition);

Slide 11

Slide 11 text

www.bignerdranch.com Customized transitions ChangeBounds changeBounds = new ChangeBounds().setDuration(2000) .setInterpolator(new AnticipateOvershootInterpolator()); ! Fade fadeOut = new Fade(Fade.OUT).setDuration(1000); Fade fadeIn = new Fade(Fade.IN).setDuration(1000); ! TransitionSet transition = new TransitionSet() .setOrdering(TransitionSet.ORDERING_SEQUENTIAL) .addTransition(fadeOut) .addTransition(changeBounds) .addTransition(fadeIn); ! TransitionManager.go(scene, transition);

Slide 12

Slide 12 text

www.bignerdranch.com

Slide 13

Slide 13 text

www.bignerdranch.com More DevBytes: Android 4.4 Transitions video https://www.youtube.com/watch?v=S3H7nJ4QaD8 Transitions backport https://github.com/guerwan/TransitionsBackport Sample code & blog post https://github.com/bolot/AndroidTransitionExample http://blog.bignerdranch.com (soon)