MvvmCross - застрял в заставке - PullRequest
0 голосов
/ 07 октября 2018

Я разрабатываю небольшое приложение с помощью 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>
{
}

SplashScreen:

    [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);
    }
}

Кто-нибудь знает, что я делаю неправильно?

1 Ответ

0 голосов
/ 08 октября 2018

Какую версию MvvmCross вы используете?

В общем, попробуйте следить за тем, что находится в сэмплах Playground.Для Xamarin.Forms Droid вы должны взглянуть на Playground.Forms.Droid - я бы предложил загрузить исходники MvvmCross (используйте ветвь разработки) на вашу машину и попробовать запустить этот образец.

Я подозреваю, что проблема заключается в той части, где вы наследуете от MvxSplashScreenActivity.Попробуйте унаследовать от универсальной версии этого класса, например MvxFormsSplashScreenActivity<Setup, Core.App, FormsApp>.Посмотрите, как класс заставки выглядит в примере Playground

Если это не помогает, то буквально проверьте, чем ваше приложение отличается от примера приложения Playground, и заполнитенедостающие части

...