我一直在一遍又一遍地尝试为我的 Ionic 应用程序添加启动画面使用此配置,图标确实有效,但splashscreen
不起作用。它显示一个空白屏幕,甚至不是cordova
默认splashscreen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.toggle423609" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Toggle</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="you@example.com" href="http://example.com.com/">
Your Name Here
</author>
<content src="index.html"/>
<access origin="*"/>
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="android-minSdkVersion" value="16"/>
<preference name="BackupWebStorage" value="none"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="3000"/>
<preference name="AutoHideSplashScreen" value="false" />
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true"/>
</feature>
<platform name="android">
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
</platform>
<platform name="ios">
<icon src="resources/ios/icon/icon.png" width="57" height="57"/>
<icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
<icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
<icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
<icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
<icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
<icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
<icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
<icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
<icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
<icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
<icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
<icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
<icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
<icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
<icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
<splash src="resources/ios/splash/Default-568h@2x~iphone.png" height="1136" width="640"/>
<splash src="resources/ios/splash/Default-667h.png" height="1334" width="750"/>
<splash src="resources/ios/splash/Default-736h.png" height="2208" width="1242"/>
<splash src="resources/ios/splash/Default-Landscape-736h.png" height="1242" width="2208"/>
<splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" height="1536" width="2048"/>
<splash src="resources/ios/splash/Default-Landscape~ipad.png" height="768" width="1024"/>
<splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" height="2048" width="1536"/>
<splash src="resources/ios/splash/Default-Portrait~ipad.png" height="1024" width="768"/>
<splash src="resources/ios/splash/Default@2x~iphone.png" height="960" width="640"/>
<splash src="resources/ios/splash/Default~iphone.png" height="480" width="320"/>
</platform>
</widget>
-
首先尝试重新添加插件:
$ ionic plugin remove cordova-plugin-splashscreen $ ionic plugin add cordova-plugin-splashscreen
- 然后在
resources
文件夹中编辑splash
图像。 - 在 CLI 中运行
$ ionic resources --splash
- 重新生成
$ ionic build android
并运行应用
检查 Ionic 文档 - 图标和初始屏幕图像生成
如果这不起作用,则应删除并重新添加遇到问题的平台。
$ cordova platform remove android (or ios)
$ cordova platform add android (or ios)
这是你的答案!!
如果您使用的是 Cordova 6.4.0(点击终端中的 cordova -v
检查版本),您将面临此问题(构建后不会生成图标和初始屏幕)
为了解决此问题,您有两个选择:
- 在配置.xml中将单词密度更改为限定符。例如。放
<icon src="resourcesandroidicondrawable-ldpi-icon.png" qualifier="ldpi"/>
代替<icon src="resourcesandroidicondrawable-ldpi-icon.png" density="ldpi"/>
.生成项目。会工作。
- 只需在终端中点击 6.3.1
npm install -g cordova@6.3.1
即可安装 cordova 版本 6.3.1。删除然后添加平台,进一步构建它。就像一个魅力!.
问候!! :p
删除并添加科尔多瓦后
$ cordova platform remove android (or ios)
$ cordova platform add android (or ios)
您将获得一个包含图标和初始屏幕的/res
文件夹。从/res
复制内容并粘贴到platfomrs/android/res
中,这将替换标准图标和初始屏幕。
然后构建您的应用程序,您将获得自定义映像。
我使用了离子标签模板,没有更改。
我的初始屏幕也没有显示(Ionic 3)。我发现这个链接非常有帮助。config.xml
中的这些条目为我做了一个技巧:
<preference name="SplashMaintainAspectRatio" value="true"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="30000"/>
<preference name="AutoHideSplashScreen" value="false"/>
<preference name="SplashShowOnlyFirstTime" value="false"/>
<preference name="FadeSplashScreen" value="false"/>
自 2016 年 11 月 7 日起。科尔多瓦 6.4.0 发布新的安卓版本 - android@6.1.0。
很可能您正在科尔多瓦(或旧版本的安卓)中使用android@5。尝试更新/安装新版本的科尔多瓦安卓。
要升级:科尔多瓦平台更新 android@6.1.0
要显式添加它:科尔多瓦平台添加android@6.1.0
https://cordova.apache.org/announcements/2016/11/07/android-release.htmlhttps://cordova.apache.org/blog/
我们尝试使用以下配置系统更新 ionic 应用程序的初始屏幕,但失败了:
Cordova CLI: 6.4.0
Ionic CLI Version: 2.1.7
Ionic App Lib Version: 2.1.4
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: macOS Sierra
Node Version: v6.9.1
Xcode version: Xcode 8.1 Build version 8B62
我们能够生成启动画面并在以下配置系统中修复问题:
Cordova CLI: 6.3.1
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.2.4
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v6.6.0
Xcode version: Xcode 8.1 Build version 8B62
我遇到了同样的问题,我手动解决了路径MY_PROJECTplatformsandroidres
并删除drawable*
和mipmap*
,然后从MY_PROJECTres
复制drawable*
和mipmap*
,然后再次重建项目
检查您是否安装了"cordova-plugin-splashscreen"插件(在plugins/
文件夹中或通过运行ionic cordova plugins
(对于 Ionic v3+)或ionic plugins
命令(旧版本的 Ionic)。
如果不存在,请运行:
ionic plugin add cordova-plugin-splashscreen
(离子 v1 - v2)
ionic cordova plugin add cordova-plugin-splashscreen
(离子 v3+)
如果没有插件,iOS仍然会短暂显示初始屏幕,但Android不会。
使用以下命令在应用中添加初始屏幕 Cordova 插件
$ionic cordova plugin add cordova-plugin-splashscreen
$npm install --save @ionic-native/splash-screen
在配置.xml文件中添加以下行
<preference name="FadeSplashScreen" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
另外,删除 app.component.ts 文件中的SplashScreen.hide()
有关示例访问的更多详细信息:https://answerdone.blogspot.com/2018/02/ionic-3-splash-screen-plugins.html