Window Phone 8:启动画面后的黑屏

时间:2015-01-14 13:33:27

标签: cordova windows-phone-8 phonegap-plugins cordova-3 cordova-plugins

我已经在很长一段时间内遇到了这个问题。问题是我的应用程序加载SplashScreenImage.jpg后我得到了黑屏。黑屏会保留4到5秒,然后我的应用加载着陆页

我尝试使用一些插件用于启动画面 还使用了插件的navigator.splashscreen.show()hide方法,但无法取得任何成功。

3 个答案:

答案 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
    }