applyTransformation, вызванный после onAnimationEnd в Android

Вопрос:

У меня есть пользовательский вид и пользовательская анимация. Мой пользовательский вид переопределяет onAnimationEnd, и мой пользовательский класс класса анимации переопределяет applyTransformation соответственно.

Я обнаружил, что applyTransformation все равно вызывается после вызова onAnimationEnd.

Я пробовал использовать предоставленное здесь решение, но все же он не работает.

Лучший ответ:

Я столкнулся с этим вопросом некоторое время назад и проследил его до проблемы с 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
    }
}

Оцените статью
TechArks.Ru
Добавить комментарий