0

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

我还做了一些测试,只为视图运行 alpha 动画,之后我无法再更改视图的可见性。此类问题的任何解决方案或破解方法?

谢谢。

这是重现问题的小代码片段。

onCreateView调用 Fragment 并单击按钮时,将运行以下代码:

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);

因此,当运行上面的代码时,整个片段视图被转换为 0.5f alpha,但setVisilibity(View.GONE)什么也不做。

4

1 回答 1

0

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

于 2012-12-27T21:24:54.497 回答