Android展开视图动画

Android expand view animation

我有一个 bottomBar,我想展开它。我想我知道如何用动画来做。

但是根据

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

我如何使用 Animators 实现这一目标。

我想要达到的目标

所以有人可以在正确的方向推动我。

这解决了我的问题。

    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;
}

归功于:

好吧,这可以通过 "one-liner":

TransitionManager.beginDelayedTransition(viewGroup);

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