0

我想在使用prism.autofac.forms nuget 包的 xamarin.forms 应用程序中创建启动画面。基本上我想为每个平台创建相同的启动画面。目前我的 Android 应用程序看起来像这样

    [Activity(Label = "MyApp", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            ToolbarResource = Resource.Layout.Toolbar;
            TabLayoutResource = Resource.Layout.Tabbar;

            base.OnCreate(bundle);

            Forms.Init(this, bundle);
            LoadApplication(new Application(new DroidInitializer()));
        }
    }

应用程序如下所示:

[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Application : PrismApplication
{
    public Application(IPlatformInitializer initializer) : base(initializer)
    {
        NavigationService.NavigateHomeAsync();
    }

    protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        containerRegistry.RegisterForNavigation<NavigationPage>("Navigation");
        containerRegistry.RegisterForNavigation<MainPage>("Index");
        containerRegistry.RegisterForNavigation<HomePage>();
    }

    protected override void OnInitialized()
    {
        InitializeComponent();
    }
}

我应该在哪里实施和显示启动画面?我想在所有注册完成后导航到首页。

4

1 回答 1

1

启动画面应在平台项目中实现。

对于 iOS,推荐的解决方案是使用故事板,https: //docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/launch-screens?tabs=vsmac 对于 Android 我使用为启动画面创建主题,https://docs.microsoft.com/en-us/xamarin/android/user-interface/splash-screen

你可以让它们看起来一样,但你必须在每个平台上都这样做。

于 2018-07-04T13:51:59.657 回答