Анимация не останавливается с общим классом Animation Static в Android и Xamarin.Android - PullRequest
0 голосов
/ 11 июня 2018

У меня проблема с анимацией в Android, я запустил анимацию с определенным событием и хочу остановить эту анимацию с конкретным событием, но я не остановился.Я создал общий класс Animation со статическими функциями, такими как startAnimation () и stopAnimation (), потому что я использовал одну и ту же анимацию с несколькими представлениями на разных экранах.

Пожалуйста, дайте ваше ценное решение и предложение.

Myкод, как показано ниже в Xamarin.Android.

public static class AnimationUtil
    {
        private const int DURATION = 200;
        private const int DELAY = 2000;

        public static AnimatorSet StartPulsingAnimation(this View view)
        {   
            ObjectAnimator scaleX = ObjectAnimator.OfFloat(view, "scaleX", 1.0f, 1.5f);
            ObjectAnimator scaleY = ObjectAnimator.OfFloat(view, "scaleY", 1.0f, 1.5f);

            scaleX.RepeatMode = ValueAnimatorRepeatMode.Reverse;
            scaleX.RepeatCount = ValueAnimator.Infinite;

            scaleY.RepeatMode = ValueAnimatorRepeatMode.Reverse;
            scaleY.RepeatCount = ValueAnimator.Infinite;

            AnimatorSet scaleDown = new AnimatorSet();
            scaleDown.Play(scaleX).With(scaleY);
            scaleDown.SetDuration(DURATION);            
            scaleDown.Start();

            return scaleDown;
        }

        public static void StopPulsingAnimation(this View view, AnimatorSet scaleDown)
        {
            if (scaleDown == null)
                return;

            view.ClearAnimation();

            scaleDown.Cancel();           
            scaleDown.RemoveAllListeners();
            scaleDown = null;
        }
    }

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...