Android:滑动到另一个视图下方的动画。

时间:2013-05-28 08:26:28

标签: android performance android-layout android-listview

是否有任何想法或如何实现此动画如下图?因为当我按下取消按钮时我尝试在Linearlayout B上给出动画,线性布局B将从左向右滑出但是一旦LinearLayout B完全消失,LinearLayout C直接步进到LinearLayout A的下方,而不是慢慢滑到下面LinearLayout的答案A.请帮忙......

Slide Animation

2 个答案:

答案 0 :(得分:2)

android:animateLayoutChanges="true"设置为线性布局,您将自动实现此目的。

答案 1 :(得分:0)

首先将ViewTreeObserver.OnPreDraw侦听器添加到视图C:

int bHeight = viewB.getHeight();
viewC.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    public boolean onPreDraw() {
        viewC.startAnimation(new TranslateAnimation(0, 0, bHeight, 0));
        viewC.getViewTreeObserver().removeOnPreDrawListener(this);
        return false;
    }
});

然后将B的可见性设置为消失。

viewB.setVisibility(View.GONE);

这样做会隐藏视图B,导致视图C向上移动。然而,在C被绘制到它的新位置之前,我们将它从以前的位置动画到现在的位置。