Android扩展视图动画

时间:2016-12-08 12:35:22

标签: android animation objectanimator

我有一个想要扩展的bottomBar。我想我知道如何用动画做到这一点。

但根据What is the difference between an Animator and an Animation?

如果我使用旧动画。然后按钮将不会重新定位。只是在视觉上。

我怎么能用Animators实现这个目标。

我想要实现的目标

enter image description here

所以有人可能会朝着正确的方向推动我。

2 个答案:

答案 0 :(得分:1)

这解决了我的问题。

    public static ValueAnimator slideAnimator(int start, int end, final View view, int duration) {
    ValueAnimator animator = ValueAnimator.ofInt(start, end);
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            int val = (Integer) valueAnimator.getAnimatedValue();
            ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
            layoutParams.height = val;
            view.setLayoutParams(layoutParams);
        }
    });
    animator.setDuration(duration);
    return animator;
}

感谢:Android property animation: how to increase view height?

答案 1 :(得分:1)

嗯,这可以通过" one-liner"

来完成
TransitionManager.beginDelayedTransition(viewGroup);

ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
layoutParams.height = endValue;
view.invalidate();