如何为子视图设置动画并让父视图自动调整大小?

时间:2010-07-29 10:09:01

标签: android

我有一个简单的问题。

我正在尝试设置子视图的动画以使其消失。这部分很简单,但是,在动画期间,父视图不会调整大小。如何在动画期间自动调整父视图大小?

这是我目前的代码:

    AnimationSet set = new AnimationSet(true);

    Animation fade = new ScaleAnimation(1.f, 1.f, 1.f, 0);        
    Animation fade2 = new AlphaAnimation(1, 0);

    set.addAnimation(fade);
    set.addAnimation(fade2);
    set.setDuration(2000);
    set.setFillAfter(true);        

    bgColor.startAnimation(set);

bgColor是我正在消失的视图。这是最终结果: Result

您可以在动画后看到差距。

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以添加AnimationListener并在动画完成后更改布局

animation.setAnimationListener(new AnimationListener() {
    @Override
    public void onAnimationEnd(Animation animation) {
        bgColor.setVisibility(View.GONE);
    }
    @Override
    public void onAnimationRepeat(Animation animation) {
    }
    @Override
    public void onAnimationStart(Animation animation) {
    }
});

另外,请务必将有关onFillAfter()的内容放在一起!