splashscreen后的白色屏幕、Ionic2、android设备
我目前正在开发Ionic2应用程序。我面临的一个问题是,在启动屏幕之后,在应用程序主屏幕之前,会出现6-7秒的白色屏幕 我尝试了一些谷歌搜索,但没有任何效果。我最后一次尝试解决的问题是splashscreen后的白色屏幕、Ionic2、android设备,ionic2,Ionic2,我目前正在开发Ionic2应用程序。我面临的一个问题是,在启动屏幕之后,在应用程序主屏幕之前,会出现6-7秒的白色屏幕 我尝试了一些谷歌搜索,但没有任何效果。我最后一次尝试解决的问题是 hideSplashScreen() { if(Splashscreen){ setTimeout(() => { Splashscreen.hide(); },100) } };// <preference name="Splas
hideSplashScreen() {
if(Splashscreen){
setTimeout(() => {
Splashscreen.hide();
},100)
}
};//
<preference name="SplashMaintainAspectRatio" value="true"/>
<preference name="FadeSplashScreenDuration" value="300"/>
更新爱奥尼亚项目并更改一些偏好对我来说是个好办法 给你 1-更新至最新版本的
Ionic CLI
、Cordova
和Typescript
:
npm uninstall -g ionic cordova typescript
npm install -g ionic cordova typescript
2-更新您的包.json以匹配以下依赖项,删除现有的节点模块目录,然后运行npm安装
:
"scripts": {
"build": "ionic-app-scripts build",
"clean": "ionic-app-scripts clean",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
"@angular/common": "4.0.2",
"@angular/compiler": "4.0.2",
"@angular/compiler-cli": "4.0.2",
"@angular/core": "4.0.2",
"@angular/forms": "4.0.2",
"@angular/http": "4.0.2",
"@angular/platform-browser": "4.0.2",
"@angular/platform-browser-dynamic": "4.0.2",
"@ionic-native/core": "3.6.1",
"@ionic-native/in-app-browser": "3.6.1",
"@ionic-native/splash-screen": "3.6.1",
"@ionic-native/status-bar": "3.6.1",
"@ionic/storage": "2.0.1",
"ionic-angular": "3.1.1",
"ionicons": "3.0.0",
"rxjs": "5.1.1",
"sw-toolbox": "3.4.0",
"zone.js": "0.8.9"
},
"devDependencies": {
"@ionic/app-scripts": "1.3.6",
"typescript": "2.3.2"
}
3-使用这些首选项更新您的config.xlm(实时评论可以):
4-然后我将最近修改过的一些代码复制/粘贴到我的项目中(Ionic 2演示版和最新的应用程序-检查Github)
现在,该应用程序在没有长屏幕的情况下成功启动
ps:
- LiveView:
ionic运行android-l
- 生产:
ionic运行android--prod--release
- 请记住,您必须在app.component.ts中手动隐藏splashscreen(如@Markus Wagner所说):
this.platform.ready()。然后(()=>{splashscreen.hide();})代码>
编辑:更新至爱奥尼亚v3.1.1(2017-04-28)默认情况下,启动屏幕在3秒钟后隐藏(请参阅)。但这可能是因为目前你的应用程序还没有准备好 因此,我总是将以下首选项添加到我的config.xml:
<preference name="AutoHideSplashScreen" value="false"/>
这在iOS和Android上都适用。在以下任意CLI命令期间添加--prod标志:
// If iOS
ionic emulate ios --prod
ionic build ios --prod
ionic run ios --prod
// If Android
ionic emulate android --prod
ionic build android --prod
ionic run android --prod
为给定平台构建(准备+编译)爱奥尼亚项目的更多信息
我通过在config.xml上设置正确的参数解决了这个问题
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="FadeSplashScreenDuration" value="1000" />
<preference name="SplashScreen" value="screen" />
<preference name="ShowSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="true" />
然后,在我的platform.ready()指令中,我所做的就是Splashscreen.hide() 您使用的是哪个RC版本的ionic?请查看编辑。我从官方的ionic应用程序升级到了RC5,并在config.xml中更改/复制了一些代码,这个问题似乎没有任何技巧就解决了,现在可以正确快速地加载了。如果您需要更多详细信息,我可以添加一个带有infos的回复。@mosca90,您能发布完整的答案吗?谢谢,我今天会尝试。它可以工作,我只在android上检查过,但到目前为止还没有在IOS上检查过。将检查Ios并接受此作为答案。请告诉我,我也对Ios感兴趣:)
this.platform.ready().then(() => {
Splashscreen.hide();
});
// If iOS
ionic emulate ios --prod
ionic build ios --prod
ionic run ios --prod
// If Android
ionic emulate android --prod
ionic build android --prod
ionic run android --prod
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="FadeSplashScreenDuration" value="1000" />
<preference name="SplashScreen" value="screen" />
<preference name="ShowSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="true" />