Как использовать SetAnimationListener ()? - PullRequest
2 голосов
/ 02 августа 2011

Я хотел бы знать, когда закончится моя анимация, поэтому я должен использовать AnimationListener.

Не могу понять, как это сделать в MonoDroid (C #).

Кто-нибудь знает, как это сделать?

1 Ответ

2 голосов
/ 09 сентября 2011

Вот короткое, которое я написал, чтобы получить обратный вызов, когда анимация заканчивается:

class AnimationListenerEndCallback : Java.Lang.Object, Animation.IAnimationListener
{
    public delegate void Callback(Animation animation);
    private Callback callback;
    public AnimationListenerEndCallback(Callback callback)
    {
        this.callback = callback;
    }

    public void OnAnimationEnd(Android.Views.Animations.Animation animation)
    {
        callback(animation);
    }

    public void OnAnimationRepeat(Android.Views.Animations.Animation animation)
    {
        // do nothing
    }

    public void OnAnimationStart(Android.Views.Animations.Animation animation)
    {
        // do nothing
    }
}

Вы используете это так:

Animation a = AnimationUtils.LoadAnimation(this, Resource.Animation.pull_up);
a.SetAnimationListener(new AnimationListenerEndCallback(delegate
{
   // all your local variables are still in scope, so you
   // can use them here
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...