我已经在很长一段时间内遇到了这个问题。问题是我的应用程序加载SplashScreenImage.jpg后我得到了黑屏。黑屏会保留4到5秒,然后我的应用加载着陆页
我尝试使用一些插件用于启动画面
还使用了插件的navigator.splashscreen.show()
和hide
方法,但无法取得任何成功。
答案 0 :(得分:1)
我真的搜索了两天以上关于解决黑屏问题的问题。 最后,在没有从网上得到任何适当的解决方案之后,我决定深入研究并解决它。
所以这是解决方案
只需将以下行添加到您的MainPage.xaml
即可 <Image HorizontalAlignment="Center" VerticalAlignment="Center" Source="yoursplashimage.jpg"/>
所以现在你的MainPage.xaml应该是一些如下所示
<phone:PhoneApplicationPage
x:Class="yourappsnamespace.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
Background="Black"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
shell:SystemTray.IsVisible="True" d:DesignHeight="768" d:DesignWidth="480"
xmlns:my="clr-namespace:WPCordovaClassLib">
<Grid x:Name="LayoutRoot" Background="Transparent" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Source="yoursplashimage.jpg"/>
<my:CordovaView HorizontalAlignment="Stretch"
Margin="0,0,0,0"
x:Name="CordovaView"
VerticalAlignment="Stretch" />
</Grid>
</phone:PhoneApplicationPage>
就是这样。现在你将摆脱愚蠢的黑屏。 还有一件事就是从根文件夹中删除SplashScreenImage.jpg以避免图像闪烁(注意:如果你不删除SplashScreenImage.jpg那就可以了,这取决于一次选择)
答案 1 :(得分:0)
我认为你不能删除或减少在Splashscreen
之后出现黑屏的时间。
但您可以尝试使您的应用程序更快,这可以理想地加载您的应用程序更快。
Ways to Load Applications Faster
参考:How to make a windows phone application load faster like default applications?
答案 2 :(得分:0)
如果您仅仅是为了品牌宣传而使用SplashScreen,那么您可以采取以下措施。
创建新页面。
将SplashScreen图像设置为此页面的背景图像。
在加载事件上,比如LayoutRoot加载事件,添加一些延迟
延迟时间结束后导航到您的MainPage。
代码有点像: -
using System.Threading.Tasks; //add the namespace
private async void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
await Task.Delay(4000); //add the delay
NavigationService.Navigate(new Uri("/StartingPage.xaml")); //navigate to your starting page
}