【问题标题】:ionic app splash screen are not shown离子应用程序启动画面未显示
【发布时间】:2016-03-21 13:53:31
【问题描述】:

我一直在尝试向我的 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>

【问题讨论】:

  • 您是否已将插件安装到您的项目中? cordova 插件添加 org.apache.cordova.splashscreen
  • 插件 "cordova-plugin-splashscreen" 已经安装在 ios 上,但插件 "cordova-plugin-splashscreen" 已经安装在 ios 上,但它不工作

标签: android cordova ionic-framework


【解决方案1】:
  1. 首先尝试阅读您的插件:

    $ ionic plugin remove cordova-plugin-splashscreen
    $ ionic plugin add cordova-plugin-splashscreen
    
  2. 然后编辑resources 文件夹中的splash 图像。
  3. 在 CLI 中运行 $ ionic resources --splash
  4. 重建 $ ionic build android 并运行您的应用

查看Ionic documentation - Icon and Splash Screen Image Generation

如果这不起作用,您应该删除并重新阅读您遇到问题的平台。

$ cordova platform remove android (or ios)
$ cordova platform add android (or ios)

【讨论】:

  • D:\nodejs\Toggle>cordova platfotm remove android 错误:Cordova 不知道 platfotm;尝试cordova help 获取所有可用命令的列表。
  • 这正是 CLI 在 cordova platform remove android 之后返回的内容吗?你在 Mac 上吗?
  • 值得注意的是,删除/重新安装平台将删除您拥有的自定义启动画面图像。
  • 只做第一步对我有用!我没有添加“cordova-plugin-splashscreen”插件。在 iOS 上,它仍然短暂地显示闪屏(即使没有插件),而在 Android 上 - 它没有。第一步运行命令修复了问题`ionic plugin add cordova-plugin-splashscreen`
【解决方案2】:

这是你的答案!

如果您使用的是 Cordova 6.4.0(在终端中点击 cordova -v 以检查版本),您将面临此问题(构建后不会生成图标和启动画面)

为了解决这个问题,您有两种选择:

  1. 在您的 config.xml 中将单词 density 更改为 qualifier。例如。放

&lt;icon src="resources\android\icon\drawable-ldpi-icon.png" qualifier="ldpi"/&gt; 代替 &lt;icon src="resources\android\icon\drawable-ldpi-icon.png" density="ldpi"/&gt;。构建项目。会工作的。

  1. 只需在终端中点击npm install -g cordova@6.3.1 即可安装cordova 6.3.1 版。删除然后添加平台,进一步构建它。像魅力一样工作!!。

问候!! :p

【讨论】:

  • 我不知道为什么这被否决了,但它解决了我的问题。我已经尝试了 4 天来解决这个问题,我所要做的就是更新我的 Cordova。
  • 是的,它有效。将 splashscree 的“密度”更改为“限定符”
【解决方案3】:

删除并添加cordova后

   $ cordova platform remove android (or ios)
   $ cordova platform add android (or ios)

您将获得一个/res 文件夹,其中包含您的图标和启动画面。从/res 复制内容并粘贴到platfomrs/android/res,这将替换标准图标和启动画面。

然后构建您的应用,您将获得自定义图像。

我使用了离子标签模板,没有更改。

【讨论】:

  • 对我来说,现在在 ionic2 上,这些文件的名称不是 drawable-port-xhdpi-screen.png,而是 screen.png,并存储在名为 drawable-port-ldpi 的单独文件夹中。不得不复制粘贴它们并手动重命名
【解决方案4】:

我的启动画面也没有出现(Ionic 3)。我发现这个Link 很有帮助。 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"/>

【讨论】:

    【解决方案5】:

    自 2016 年 11 月 7 日起。Cordova 6.4.0 发布,带有新的 android 版本 - android@6.1.0。

    您很可能在您的 cordova(或旧版本的 android)中使用 android@5。 尝试更新/安装新版本的cordova android。

    要升级: 科尔多瓦平台更新android@6.1.0

    显式添加: 科尔多瓦平台添加android@6.1.0

    https://cordova.apache.org/announcements/2016/11/07/android-release.html https://cordova.apache.org/blog/

    【讨论】:

      【解决方案6】:

      我们尝试使用以下配置系统更新 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

      【讨论】:

      • 请不要对多个问题发布相同的答案。发布一个好的答案,然后投票/标记以关闭其他问题作为重复问题。如果问题不是重复的,调整您对该问题的回答。
      【解决方案7】:

      我遇到了同样的问题,我通过转到路径 MY_PROJECT\platforms\android\res 并删除 drawable*mipmap* 手动解决,然后从 MY_PROJECT\res 复制 drawable*mipmap* 然后再次重新构建项目

      【讨论】:

        【解决方案8】:

        检查您是否安装了“cordova-plugin-splashscreen”插件(在 plugins/ 文件夹中或通过运行 ionic cordova plugins(对于 Ionic v3+)或 ionic plugins 命令(旧版本的 Ionic)。

        如果它不存在,请运行:
        ionic plugin add cordova-plugin-splashscreen (Ionic v1 - v2)
        ionic cordova plugin add cordova-plugin-splashscreen (Ionic v3+)

        如果没有插件,iOS 仍会短暂显示启动画面,但 Android 不会。

        【讨论】:

        • 注意,如果您有大量插件,请尝试ionic plugins | grep splash (Ionic v1-v2) 或ionic cordova plugins | grep splash (Ionic v3+) 以找出插件是否已安装。如果是 - 您将看到类似于以下的输出 cordova-plugin-splashscreen 4.0.3 "Splashscreen"
        【解决方案9】:

        使用以下命令在您的应用中添加 Splash Screen Cordova 插件

            $ionic cordova plugin add cordova-plugin-splashscreen
            $npm install --save @ionic-native/splash-screen
        

        config.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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-10
          • 2017-03-08
          • 2017-12-28
          相关资源
          最近更新 更多