Android片段动画实际上并没有完成

时间:2012-12-04 06:55:54

标签: android android-layout android-animation

我遇到了这个恼人的问题,我有2个片段,我在Fragments getView()组件上运行3d翻转动画。问题来到这里,当翻转完成时,我尝试将另一个视图设置为不可见,但没有任何反应。似乎动画仍然在视图中,如果视图为setAnimation(null)clearAnimation,则整个视图将重置为开始状态。

我还做了一点测试,只为视图运行alpha动画,之后我再也无法更改视图可见性了。针对这类问题的任何解决方案或黑客攻击?

感谢。

以下是重现问题的小代码段。

在调用片段onCreateView并单击按钮时运行以下代码:

AlphaAnimation fadeHalf = new AlphaAnimation(1, 0.5f); fadeHalf.setFillAfter(true);

fadeHalf.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
    getView().setVisibility(View.GONE);
});

getView().startAnimation(fadeHalf);

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

因此,在运行上面的代码时,整个片段视图会被转换为0.5f alpha,但什么都不做。

1 个答案:

答案 0 :(得分:0)

不确定这是否是您所需要的,但是您可以删除视图并在将来执行相同的动画时重新添加。