Android动画布局动作

时间:2016-04-30 10:16:12

标签: android animation layout

我会尽力描述我想要的东西。我很确定它可以通过简单的动画来完成,但我无法找到描述我正在等待的行为的词语。

我目前正在显示一个LinearLayout,其中包含另外两个LinearLayout 孩子。父母的引力设置为center

点击按钮后,我可以将第一个子项可见性从GONE切换为VISIBLE,反之亦然。

如果第一个孩子layout设置为GONE并且我将其更改为VISIBLE,则它会显示在屏幕上,second孩子会移到最底层给一些空间。 (因为重力设置为中心)。

当我的第二个孩子移动到顶部/底部,让第一个孩子出现/消失时,我想制作动画,所以它不是瞬间但是光滑。 / p>

这是一个动画GIF,展示了整个事情:

Gif

2 个答案:

答案 0 :(得分:1)

我终于发现动画可以应用于我的布局,以便为动作添加动画效果:

    LayoutTransition rpTransition = layout.getLayoutTransition();
    rpTransition.enableTransitionType(LayoutTransition.CHANGING);

enter image description here

答案 1 :(得分:0)

这就是我要这样做的方式:

//in onCreate
fadingView.setAlpha(0);

...

public void fadeThenSlide (final View fadingView, final View slidingView ){
   slidingView.animate().translationYBy(fadingView.getHeight()).
   setDuration(200).
   setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            fadingView.animate().alpha(1).setDuration(200);
        }
    });
}

我尚未对代码进行测试,因此可能存在一些问题,您可以尝试并告诉我