0

我在 viewflipper 上使用动画并像 AnimationUtils.loadAnimation(this, R.anim.flipout); 一样加载它们。

问题是我还在它们上设置 AnimationListener 并希望它在不同时间设置不同的侦听器。问题是它们保留了上次加载 loadAnimation 时的动画监听器,并且在它们上设置新的动画监听器什么也没做(也不会崩溃,新的动画监听器永远不会被调用)。

我是否必须放弃 AnimationUtils.loadAnimation 并自己创建新的动画对象?我可以禁用它的缓存吗?

4

1 回答 1

0

解决了。

答案很简单,我正在调用 myviewflipper.showPrevious(); 在将新动画设置到正在使用它们的 viewflipper 之前,即使那段 ui 线程在设置之前没有返回。因此,viewflipper 会使用您调用上一个/下一个时设置的动画来执行此操作——而不是在它之后设置的动画,即使它没有机会开始显示它们。

于 2013-03-22T07:55:20.113 回答