我应该以 xamarin 形式创建启动画面吗?

问题描述

如何使用 xamarin.forms 创建启动画面。

启动画面确实显示但没有图像

SplashActivity

[Activity(Label = "SplashActivity",Theme = "@style/SplashTheme",MainLauncher = true,NoHistory = true)]
    public class SplashActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
        }
    }

style.xml

  <style name="SplashTheme" parent="android:Theme">
      <item name="android:windowBackground">@drawable/splashscreen</item>
      <item name="android:windowNoTitle">true</item>
      <item name="android:windowFullscreen">true</item>
  </style>

解决方法

刚刚退后一步,找到了解决方案。我正在使用共享的 xamarin.forms,为什么不直接将第一个 xamarin 页面创建到启动画面中。

创建 acivities/xml/drawable 只是为了在 android 项目中设置启动画面,而不是在 ios 项目中再次设置,而不是在 windows 项目中再次设置....

这为我修复了它,它适用于 anroid、ios 和 windows

创建一个只有图像的闪屏视图页面

               <Image x:Name="ssImage" Source="splashscreen.png"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand"
                HeightRequest="500"
                WidthRequest="500" />

后端只发送构建动画函数

public SplashscreenPage ()
    {
        InitializeComponent ();

        Animation();
    }

    public async void Animation()
    {
        ssImage.Opacity = 0;
        
        await Task.WhenAll(
            ssImage.FadeTo(100,3000),ssImage.ScaleTo(1.3,3000)
            );

        Application.Current.MainPage = new CreatePinPage();
    }