You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Android中如何等待LottieAnimationView结束后启动主Activity

在Xamarin.Android中实现Lottie动画完成后跳转主Activity

实现步骤:

  1. 绑定布局中的Lottie控件
    在闪屏Activity的OnCreate方法中,获取布局里的LottieAnimationView实例。

  2. 添加动画完成监听器
    给Lottie控件绑定动画结束的回调,在回调中启动主Activity并关闭当前闪屏页。

完整代码示例:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    SetContentView(Resource.Layout.SplashLayout); // 替换为你的闪屏布局文件名

    var lottieView = FindViewById<LottieAnimationView>(Resource.Id.SplashAnimationView);

    // 添加动画完成监听器
    lottieView.AddAnimatorListener(new AnimatorListenerAdapter
    {
        public override void OnAnimationEnd(Animator animation)
        {
            // 启动主Activity
            StartActivity(new Intent(this, typeof(MainActivity)));
            // 关闭当前闪屏Activity,避免返回键回到闪屏页
            Finish();
        }
    });
}

另一种Lottie专用监听器实现方式:

如果需要监听更多Lottie动画事件(如开始、重复等),可以实现ILottieAnimationListener接口:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    SetContentView(Resource.Layout.SplashLayout);

    var lottieView = FindViewById<LottieAnimationView>(Resource.Id.SplashAnimationView);
    lottieView.AddOnLottieAnimationListener(new LottieAnimationCallback(this));
}

// 自定义Lottie动画回调类
private class LottieAnimationCallback : Java.Lang.Object, ILottieAnimationListener
{
    private readonly Activity _activity;

    public LottieAnimationCallback(Activity activity)
    {
        _activity = activity;
    }

    public void OnAnimationCancel(LottieAnimationView animationView) { }
    public void OnAnimationEnd(LottieAnimationView animationView)
    {
        _activity.StartActivity(new Intent(_activity, typeof(MainActivity)));
        _activity.Finish();
    }
    public void OnAnimationRepeat(LottieAnimationView animationView) { }
    public void OnAnimationStart(LottieAnimationView animationView) { }
    public void OnAnimationProgress(LottieAnimationView animationView) { }
}

注意事项:

  • 确保MainActivity已在AndroidManifest.xml中正确注册。
  • 布局中已设置app:lottie_loop="false",动画仅播放一次,符合闪屏场景需求。
  • 调用Finish()可防止用户按下返回键回到闪屏页面。

内容的提问来源于stack exchange,提问作者Nabeel Jaber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:03:29