浮动按钮到工具栏动画

时间:2015-04-19 05:40:12

标签: android user-interface animation material-design material

我在我的应用程序上使用了一个浮动按钮,但是我想将视频转换为工具栏上的显示,有人有一个样本吗?如果没有,请不要担心我开始开发,但我想要一个指南,谢谢

我有这个选择:

ViewCompat.animate(view).setDuration(1000).scaleYBy(1).scaleXBy(1).start();

或此选项:

 ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, EXTRA_IMAGE);

sample video

1 个答案:

答案 0 :(得分:0)

我创建了解决方案,我没有相同的结果,但对我有用,我发布了我的代码:

private void animateBottomToolbar() {
    AnimatorSet set = new AnimatorSet().setDuration(500L);
    if(bottomToolbarShowing) {
        //hide toolbar
        set.playTogether(
                ObjectAnimator.ofFloat(toolbarBottom, "scaleY", 1.0f, 0.0f),
                ObjectAnimator.ofFloat(addButton, "scaleY", 0.0f, 1.0f)
        );

        set.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationStart(animation);
                addButton.setVisibility(View.VISIBLE);
                toolbarBottom.setVisibility(View.GONE);
                animation.removeAllListeners();
            }
        });

        set.setInterpolator(new OvershootInterpolator());
        set.start();
        bottomToolbarShowing = false;
    } else {
        //show toolbar
        if (floatMenuOpen) animateFloatingMenu();
        set.playTogether(
                ObjectAnimator.ofFloat(toolbarBottom, "scaleY", 0.0f, 1.0f),
                ObjectAnimator.ofFloat(addButton, "scaleY", 1.0f, 0.0f)
        );

        set.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                super.onAnimationStart(animation);
                addButton.setVisibility(View.GONE);
                toolbarBottom.setVisibility(View.VISIBLE);
                animation.removeAllListeners();
                inflateMenuOnBottomToolbar();
            }
        });
        set.setInterpolator(new OvershootInterpolator());
        set.start();
        bottomToolbarShowing = true;
    }

}