Search in sources :

Example 1 with Scene

use of android.transitions.everywhere.Scene in project UltimateAndroid by cymcsg.

the class TransitionEverywhereActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.transition_everwhere_activity_basic_transitions);
    RadioGroup radioGroup = (RadioGroup) findViewById(R.id.select_scene);
    radioGroup.setOnCheckedChangeListener(this);
    mSceneRoot = (ViewGroup) findViewById(R.id.scene_root);
    // A Scene can be instantiated from a live view hierarchy.
    mScene1 = new Scene(mSceneRoot, mSceneRoot.findViewById(R.id.container));
    // You can also inflate a generate a Scene from a layout resource file.
    mScene2 = Scene.getSceneForLayout(mSceneRoot, R.layout.transition_everwhere_scene2, this);
    // Another scene from a layout resource file.
    mScene3 = Scene.getSceneForLayout(mSceneRoot, R.layout.transition_everwhere_scene3, this);
    // We create a custom TransitionManager for Scene 3, in which ChangeBounds, Fade and
    // ChangeImageTransform take place at the same time.
    mTransitionManagerForScene3 = TransitionInflater.from(this).inflateTransitionManager(R.anim.transition_everwhere_scene3_transition_manager, mSceneRoot);
}
Also used : RadioGroup(android.widget.RadioGroup) Scene(android.transitions.everywhere.Scene)

Example 2 with Scene

use of android.transitions.everywhere.Scene in project TransitionPlayer by linfaxin.

the class ChromeHomeDemo method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.demo_chrome_home);
    swipeLayout = (SwipeLayout) findViewById(R.id.swipeLayout);
    swipeLayout.getDragEdgeMap().clear();
    swipeLayout.addDrag(SwipeLayout.DragEdge.Top, swipeLayout.getChildAt(0));
    swipeLayout.addRevealListener(R.id.placeHolder, new SwipeLayout.OnRevealListener() {

        @Override
        public void onReveal(View child, SwipeLayout.DragEdge edge, float fraction, int distance) {
            transitionPlayer.setCurrentFraction(fraction);
        }
    });
    swipeLayout.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

        @Override
        public boolean onPreDraw() {
            swipeLayout.getViewTreeObserver().removeOnPreDrawListener(this);
            ViewGroup mSceneRoot = (ViewGroup) findViewById(R.id.sceneRootView);
            Scene scene = Scene.getSceneForLayout(mSceneRoot, R.layout.chrome_home_head_state_expand, ChromeHomeDemo.this);
            transitionPlayer.setPlayControl(new ModifyAnimatorsPlayControl() {

                @Override
                protected Animator onModifyAnimator(Transition transition, ValueAnimator animator) {
                    if (!(animator instanceof ObjectAnimator))
                        return animator;
                    Object target = ((ObjectAnimator) animator).getTarget();
                    if (!(target instanceof View))
                        return animator;
                    View targetView = (View) target;
                    // input view
                    if (targetView.getId() == R.id.editText) {
                        if (transition instanceof ChangeBounds) {
                            AnimatorSet animatorSet = new AnimatorSet();
                            for (ValueAnimator subAnimator : AnimatorUtils.splitAnimatorByValues(animator)) {
                                animatorSet.playTogether(subAnimator);
                                // let input view fast animate to right edge
                                if (subAnimator instanceof ObjectAnimator && "right".equals(((ObjectAnimator) subAnimator).getPropertyName())) {
                                    MultiTimeInterpolator multi = new MultiTimeInterpolator();
                                    TimeInterpolator i = animator.getInterpolator();
                                    multi.addInterpolator(i, 6);
                                    LockEndTimeInterpolator end = new LockEndTimeInterpolator(i);
                                    multi.addInterpolator(end, 4);
                                    subAnimator.setInterpolator(multi);
                                }
                            }
                            return animatorSet;
                        } else if (transition instanceof ChangeTextColor) {
                            TimeInterpolator i = animator.getInterpolator();
                            LockEndTimeInterpolator end = new LockEndTimeInterpolator(i);
                            ReverseTimeInterpolator r = new ReverseTimeInterpolator(i);
                            animator.setInterpolator(new MultiTimeInterpolator(i, end, r));
                        }
                    }
                    // logo view
                    if (targetView.getId() == R.id.imageView && transition instanceof ChangeAlpha) {
                        MultiTimeInterpolator multi = new MultiTimeInterpolator();
                        TimeInterpolator i = new DecelerateInterpolator(1.6f);
                        TimeInterpolator start = new LockStartTimeInterpolator(i);
                        multi.addInterpolator(start, 4);
                        multi.addInterpolator(i, 6);
                        animator.setInterpolator(multi);
                    }
                    return animator;
                }
            });
            TransitionManager.go(scene, transitionPlayer);
            // after start transition, then init click.
            mSceneRoot.findViewById(R.id.editText).setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    swipeLayout.close();
                }
            });
            return false;
        }
    });
}
Also used : DecelerateInterpolator(android.view.animation.DecelerateInterpolator) AnimatorSet(android.animation.AnimatorSet) ChangeTextColor(com.linfaxin.transitionplayer.transitions.ChangeTextColor) ValueAnimator(android.animation.ValueAnimator) ChangeAlpha(com.linfaxin.transitionplayer.transitions.ChangeAlpha) LockStartTimeInterpolator(com.linfaxin.transitionplayer.interpolators.LockStartTimeInterpolator) LockEndTimeInterpolator(com.linfaxin.transitionplayer.interpolators.LockEndTimeInterpolator) SwipeLayout(com.daimajia.swipe.SwipeLayout) ViewTreeObserver(android.view.ViewTreeObserver) ViewGroup(android.view.ViewGroup) ObjectAnimator(android.animation.ObjectAnimator) ChangeBounds(android.transitions.everywhere.ChangeBounds) Scene(android.transitions.everywhere.Scene) View(android.view.View) TimeInterpolator(android.animation.TimeInterpolator) ReverseTimeInterpolator(com.linfaxin.transitionplayer.interpolators.ReverseTimeInterpolator) MultiTimeInterpolator(com.linfaxin.transitionplayer.interpolators.MultiTimeInterpolator) LockEndTimeInterpolator(com.linfaxin.transitionplayer.interpolators.LockEndTimeInterpolator) LockStartTimeInterpolator(com.linfaxin.transitionplayer.interpolators.LockStartTimeInterpolator) ReverseTimeInterpolator(com.linfaxin.transitionplayer.interpolators.ReverseTimeInterpolator) MultiTimeInterpolator(com.linfaxin.transitionplayer.interpolators.MultiTimeInterpolator) ModifyAnimatorsPlayControl(com.linfaxin.transitionplayer.control.ModifyAnimatorsPlayControl) Transition(android.transitions.everywhere.Transition)

Example 3 with Scene

use of android.transitions.everywhere.Scene in project TransitionPlayer by linfaxin.

the class MaterialMenuDemo method preTransition.

private void preTransition() {
    Random r = new Random();
    mSceneRoot.removeAllViews();
    int toIndex = r.nextInt(layouts.length);
    while (toIndex == currentLayoutIndex) {
        toIndex = r.nextInt(layouts.length);
    }
    // lock current layout
    View.inflate(this, layouts[currentLayoutIndex], mSceneRoot);
    // pre next layout
    final Scene scene = Scene.getSceneForLayout(mSceneRoot, layouts[toIndex], MaterialMenuDemo.this);
    mSceneRoot.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

        @Override
        public boolean onPreDraw() {
            mSceneRoot.getViewTreeObserver().removeOnPreDrawListener(this);
            TransitionManager.go(scene, transitionPlayer);
            return false;
        }
    });
    currentLayoutIndex = toIndex;
}
Also used : Random(java.util.Random) Scene(android.transitions.everywhere.Scene) ViewTreeObserver(android.view.ViewTreeObserver)

Aggregations

Scene (android.transitions.everywhere.Scene)3 ViewTreeObserver (android.view.ViewTreeObserver)2 AnimatorSet (android.animation.AnimatorSet)1 ObjectAnimator (android.animation.ObjectAnimator)1 TimeInterpolator (android.animation.TimeInterpolator)1 ValueAnimator (android.animation.ValueAnimator)1 ChangeBounds (android.transitions.everywhere.ChangeBounds)1 Transition (android.transitions.everywhere.Transition)1 View (android.view.View)1 ViewGroup (android.view.ViewGroup)1 DecelerateInterpolator (android.view.animation.DecelerateInterpolator)1 RadioGroup (android.widget.RadioGroup)1 SwipeLayout (com.daimajia.swipe.SwipeLayout)1 ModifyAnimatorsPlayControl (com.linfaxin.transitionplayer.control.ModifyAnimatorsPlayControl)1 LockEndTimeInterpolator (com.linfaxin.transitionplayer.interpolators.LockEndTimeInterpolator)1 LockStartTimeInterpolator (com.linfaxin.transitionplayer.interpolators.LockStartTimeInterpolator)1 MultiTimeInterpolator (com.linfaxin.transitionplayer.interpolators.MultiTimeInterpolator)1 ReverseTimeInterpolator (com.linfaxin.transitionplayer.interpolators.ReverseTimeInterpolator)1 ChangeAlpha (com.linfaxin.transitionplayer.transitions.ChangeAlpha)1 ChangeTextColor (com.linfaxin.transitionplayer.transitions.ChangeTextColor)1