Android Xamarin:检测 Lottie 动画结束
Android Xamarin: Detect Lottie Animation End
我想在我的 DialogFragment 中膨胀一个布局文件,它只包含一个 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 = view.FindViewById<LottieAnimationView>(Resource.Id.animViewTest1);
animView.PlayAnimation();
但我找不到找到 onAnimationEnd
方法或类似方法的方法。
我发现了这个类似的问题:
但这并没有帮助我让它在我的案例中发挥作用。
您需要使用 IAnimatorListener 侦听器,只需通过您的 class:
实现即可
YourClass : IAnimatorListener
所有需要的方法,其中之一就是您所追求的:
public void OnAnimationEnd(Animator animation)
{
// your logic on animation end
}
然后将您的 IAnimatorListener 实现分配为您的 lottie 视图的动画监听器:
this.animationView.AddAnimatorListener(implementationOfIAnimatorListener);
您可以在 Lottie Xamarin github 上找到完整示例:https://github.com/martijn00/LottieXamarin/blob/develop/Samples/Native/Example.Droid/AnimationFragment.cs
我想在我的 DialogFragment 中膨胀一个布局文件,它只包含一个 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 = view.FindViewById<LottieAnimationView>(Resource.Id.animViewTest1);
animView.PlayAnimation();
但我找不到找到 onAnimationEnd
方法或类似方法的方法。
我发现了这个类似的问题:
但这并没有帮助我让它在我的案例中发挥作用。
您需要使用 IAnimatorListener 侦听器,只需通过您的 class:
实现即可YourClass : IAnimatorListener
所有需要的方法,其中之一就是您所追求的:
public void OnAnimationEnd(Animator animation)
{
// your logic on animation end
}
然后将您的 IAnimatorListener 实现分配为您的 lottie 视图的动画监听器:
this.animationView.AddAnimatorListener(implementationOfIAnimatorListener);
您可以在 Lottie Xamarin github 上找到完整示例:https://github.com/martijn00/LottieXamarin/blob/develop/Samples/Native/Example.Droid/AnimationFragment.cs