Android展开视图动画

Posted

技术标签:

【中文标题】Android展开视图动画【英文标题】:Android expand view animation 【发布时间】:2016-12-08 12:35:22 【问题描述】:

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

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

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

我如何通过 Animators 实现这一点。

我想要达到的目标

那么有人可以将我推向正确的方向吗?

【问题讨论】:

【参考方案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?

【讨论】:

【参考方案2】:

嗯,这可以通过“单线”来完成:

TransitionManager.beginDelayedTransition(viewGroup);

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

【讨论】:

以上是关于Android展开视图动画的主要内容,如果未能解决你的问题,请参考以下文章

Android RecyclerView - 触摸时动画项目提升

带有子元素的 Android 自定义可展开/可折叠视图

Android动画之视图动画和属性动画

带有展开和折叠功能的 Android 视频视图

Android图文具体解释属性动画

Android视图动画集合AndoridViewAnimations