我的启动画面不起作用xamarin形式

问题描述

我想添加一个初始屏幕(我跟随此视频https://www.youtube.com/watch?v=y8ce7OyAgYU&feature=share&fbclid=IwAR0OAz-YUEjnppifXQ4cS85pZPmbxddnuY-Y9gjQw6u5ObRMmUtanDX_h10),但它不起作用

using System;
using System.Collections.Generic;
using System.Text;
using Xamarin.Forms;

namespace NotesDesFrais
{
public class SplashPage : ContentPage
{
    Image splashImage;

    public SplashPage()
    {
        NavigationPage.SetHasNavigationBar(this,false);

        var sub = new AbsoluteLayout();
        splashImage = new Image
        {
            Source = "interrogation.jpg",WidthRequest = 100,HeightRequest = 100
        };
        AbsoluteLayout.SetLayoutFlags(splashImage,AbsoluteLayoutFlags.PositionProportional);
        AbsoluteLayout.SetLayoutBounds(splashImage,new Rectangle(0.5,0.5,AbsoluteLayout.AutoSize,AbsoluteLayout.AutoSize));

        sub.Children.Add(splashImage);

        this.BackgroundColor = Color.FromHex("#429de3");
        this.Content = sub;
    }


    protected override async void OnAppearing()
    {
        base.OnAppearing();

        await splashImage.Scaleto(1,2000); //Time-consuming processes such as initialization
        await splashImage.Scaleto(0.9,1500,Easing.Linear);
        await splashImage.Scaleto(150,1200,Easing.Linear);
        Application.Current.MainPage = new NavigationPage(new MainPage());    //After loading  MainPage it gets Navigated to our new Page
    }
}

}

App.xaml.cs

  public partial class App : Application
{
    public App()
    {
        InitializeComponent();
        XF.Material.Forms.Material.Init(this);

        MainPage = new NavigationPage(new SplashPage());
      }

解决方法

您是否在Andriod(资源> Drawable)和iOS资源(xAssets)中添加了资源interrogation.jpg?

您还从App.cs调用了SplashPage吗?如下:

MainPage = new NavigationPage(new SplashPage());

您要完成的是在主应用程序启动之前创建一个内容页面。它可能会达到您的目的,但请注意,这不是真正的启动画面。启动应用程序时,应尽快显示初始屏幕,但Xamarin.Forms直到启动序列的后期才初始化,这意味着初始屏幕必须在每个平台上的Xamarin.Forms外部实现。 >

For Xamarin.Android

For Xamarin.iOS