android - Android 中的 onAnimationEnd 之后调用 applyTransformation

标签 android animation background

我有一个自定义 View 和一个自定义动画。我的自定义 View 分别覆盖 onAnimationEnd 和我的自定义动画类覆盖 applyTransformation。

我发现调用onAnimationEnd后applyTransformation仍然被调用。

我尝试使用提供的解决方案 here ,但仍然不起作用。

最佳答案

我不久前遇到了这个问题,并将其追溯到 Android 错误跟踪器上的一个问题。 我不确定它是否仍然存在或者是否已被修复,但与此同时我通过一些小技巧解决了它:

class SomeClass {
    private bool mAnimationEnded = true;

    private void SomeMethod() {
        Animation animation = new Animation() {
            @Override
            protected void applyTransformation(float interpolatedTime, Transformation t) {
                if (mAnimationEnded) return;
                // ...
            }
        }

        animation.setAnimationListener(new AnimationListener() {
            @Override
            public void onAnimationEnd(Animation animation) {
                mAnimationEnded = true;
                // ...
            }

            @Override 
            public void onAnimationStart(Animation animation) {
                mAnimationEnded = false;
                // ...   
            }

            @Override
            public onAnimationRepeat(Animation animation) { }
        }
        // ... Use animation here
    }
}

关于android - Android 中的 onAnimationEnd 之后调用 applyTransformation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916068/

相关文章:

java - 如何舍入 Double 数据类型值

android - 工具 : replace not replacing in Android manifest

android - *任务菜单*中的应用程序图标未更改?

javascript - 为什么此动画不显示以阻止不起作用?

linux - 使用 & 将存储库克隆为后台进程

java - 从android中的另一个服务调用一个服务

cocoa - CATransition 替换 subview :with…is animating all views

当屏幕上有许多 Sprite 时,Java Swing 游戏性能不佳

css - css中的 body 背景图像位置问题

java - Android - 如何在指定时间在后台下载数据