Windows 10移动应用开发:如何用自定义Splash Page替换默认Splash Screen
嘿,刚接触Win10应用开发的话,自定义启动屏确实能让你的应用更有个性!我来一步步教你怎么用自定义XAML页面替换默认的仅带Logo的启动屏:
替换默认启动屏为自定义XAML页面的步骤
1. 禁用默认启动屏设置
首先,你需要关掉应用自带的默认启动屏。打开项目里的Package.appxmanifest文件,要么直接在代码视图里删除VisualElements节点下的SplashScreen属性,要么切换到设计视图,取消勾选「启用启动屏」的选项就行。
2. 创建自定义启动屏XAML页面
在项目里添加一个新的XAML页面,比如命名为CustomSplashScreen.xaml。你可以在这个页面里自由设计——放品牌logo、加载动画、进度条,甚至加个温馨的加载提示文字都可以。给你个简单的示例代码:
<Page x:Class="YourAppNamespace.CustomSplashScreen" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="#2c3e50"> <Grid> <!-- 居中显示的自定义Logo --> <Image Source="Assets/YourBrandLogo.png" Width="220" Height="220" HorizontalAlignment="Center" VerticalAlignment="Center"/> <!-- 底部的加载提示文字 --> <TextBlock Text="正在准备应用..." Foreground="White" FontSize="18" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,60"/> </Grid> </Page>
3. 修改应用启动逻辑
接下来要让应用启动时先加载这个自定义页面,而不是默认的主页面。打开App.xaml.cs文件,找到OnLaunched方法,修改它的逻辑:
protected override void OnLaunched(LaunchActivatedEventArgs e) { Frame rootFrame = Window.Current.Content as Frame; // 避免重复初始化应用 if (rootFrame == null) { rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; // 先导航到自定义启动屏 rootFrame.Navigate(typeof(CustomSplashScreen), e.Arguments); Window.Current.Content = rootFrame; } Window.Current.Activate(); // 模拟后台加载操作,完成后切换到主页面 Task.Run(async () => { // 这里替换成你的实际初始化逻辑,比如加载配置、请求数据 await Task.Delay(2000); // 回到UI线程切换页面 await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { rootFrame.Navigate(typeof(MainPage), e.Arguments); }); }); }
4. 优化启动体验的小技巧
- 要是需要显示加载进度,可以在自定义启动屏里加个
ProgressRing控件,后台加载时同步更新它的状态。 - 尽量让启动屏的背景色和应用主题保持一致,避免页面切换时出现突兀的颜色跳转。
- 别在启动屏里做太复杂的操作,保持加载流程流畅,别让用户等太久。
这样设置完,你的应用启动时就会显示你自定义的XAML页面,再也不是单调的默认Logo启动屏啦!
内容的提问来源于stack exchange,提问作者iuhettiarachchi
相关产品推荐
相关产品推荐

