Android Xamarin:检测Lottie动画结束

时间:2018-04-03 09:23:56

标签: android animation xamarin nuget lottie

我想在我的DialogFragment中扩充一个Layout-File,它只包含一个LottieAnimationView

<com.airbnb.lottie.LottieAnimationView
  android:id="@+id/animViewTest1"
  android:layout_height="100dp"
  android:layout_width="100dp"
  app:lottie_fileName="json_Saved.json"
  app:lottie_loop="false"
  app:lottie_autoPlay="false"
  />

我希望Fragment显示,播放动画一次,并在动画结束后自动关闭。

我可以访问AnimView

animView = view.FindViewById<LottieAnimationView>(Resource.Id.animViewTest1);
animView.PlayAnimation();

但我无法找到一种方法来获取onAnimationEnd方法或类似的东西。

我发现了类似的问题:How to know when lottie animation is completed?

但在我的案例中,它并没有帮助我使用它。

1 个答案:

答案 0 :(得分:1)

您需要使用IAnimatorListener侦听器,只需在您的类中实现:

public void OnAnimationEnd(Animator animation)
{
// your logic on animation end
}

使用所有需要的方法,其中一个就是你之后的:

this.animationView.AddAnimatorListener(implementationOfIAnimatorListener);

然后将您的IAnimatorListener实现指定为您的lottie视图的动画侦听器:

procedure

你可以在Lottie Xamarin github上找到一个完整的例子:https://github.com/martijn00/LottieXamarin/blob/develop/Samples/Native/Example.Droid/AnimationFragment.cs