У меня проблема с анимацией в 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;
}
}
Заранее спасибо!