我想在我的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?
但在我的案例中,它并没有帮助我使用它。
答案 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