2011-08-01 27 views
2

我想知道我的動畫何時完成,所以我必須使用AnimationListener。如何使用SetAnimationListener()?

我似乎無法找到如何在MonoDroid(C#)中做到這一點。

有誰知道如何做到這一點?

+0

參見:http://stackoverflow.com/問題/ 6876538 /如何對化妝的動畫監聽功能於MonoDroid的/ 6932178#6932178 – jonp

回答

2

這裏是一個短我寫信給我弄一個回調時動畫結束:

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 
}));