问题描述
如何使用 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();
}