MvvmCross - 卡在启动画面

MvvmCross - Stuck in splash screen

我正在使用 MvvmCross 和 Xamarin.Forms 开发一个小型应用程序。 我按照 MvvmCross 网站上的教程构建了项目;问题是,当我尝试添加启动画面(在 android 项目上)以在主视图模型加载时出现时,它会卡在上面... 我附上我的 Start.cs(相当于 MainActivity 文件)设置和 SplashScreen 配置:

    [Activity(
    Label = "@string/app_name",
    Theme = "@style/AppTheme",
    MainLauncher = false,
    LaunchMode = LaunchMode.SingleTask,
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class Start : MvxFormsAppCompatActivity<Setup, App, FormsApp>
{
    //LaunchMode = LaunchMode.SingleTask
    //MvxFormsAppCompatActivity<MvxFormsAndroidSetup<App, FormsApp>, App, FormsApp>
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;
        base.OnCreate(bundle);

    }
}

设置:

    public class Setup : MvxFormsAndroidSetup<App, FormsApp>
{
}

启动画面:

    [Activity(
    Label = "Template", 
    MainLauncher = true, 
    NoHistory = true,
    Theme = "@style/AppTheme",
    Icon = "@drawable/icon")]
public class SplashScreen : MvxSplashScreenActivity
{
    public SplashScreen()
        :base(Resource.Layout.SplashScreen)
    {
    }
    protected override void RunAppStart(Bundle bundle)
    {
        StartActivity(typeof(Start));
        base.RunAppStart(bundle);
    }
}

有人知道我做错了什么吗?

您使用的是哪个版本的 MvvmCross?

一般来说,请尝试遵循 Playground 示例中的内容。对于 Xamarin.Forms Droid,你应该看看 Playground.Forms.Droid - 我建议在你的机器上下载 MvvmCross 源代码(使用开发分支)并尝试 运行 这个示例。

我怀疑问题出在您从 MvxSplashScreenActivity 继承的部分。尝试继承 class 的通用版本,例如MvxFormsSplashScreenActivity<Setup, Core.App, FormsApp>。看看 splash screen class 在 Playground 示例中的样子

如果这没有帮助,请逐字检查您的应用与 Playground 示例应用有何不同,并填写缺失的部分