3

在 Android 或 iOS 中,我根本无法让启动画面正常工作。

我正在使用PhoneGap Build,并且我已经像这样设置了config.xml,现在它适用于v3.0.0。

<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/3.0.0"
    id        = "myid"
    version   = "1.0.0">


<name>myname</name>

<description>
    mydesc
</description>

<author>
</author>

<preference name="permissions" value="none"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="android-minSdkVersion" value="14" />       <!-- JB 4.0 -->
<preference name="fullscreen" value="true" />

<icon src="icon.png" />
<gap:platform name="ios" />
<gap:platform name="android" />
<gap:splash src="splash.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="splash.png" gap:platform="android" width="320" height="480" />

</widget>

我已经把个人信息去掉了。

该应用程序在其他方面工作正常,但我从来没有让启动画面工作,即使它适用于 PhoneGap 2.7.0 和 2.9.0 以及仅适用于 Android。

splash.png 和 icon.png 目前实际上是同一个图像。我尝试过不同的。我最近才开始在 iOS 上进行测试,而且 PhoneGap Build 默认图标似乎只出现在 iOS 中,我是否决定需要放置一个自定义启动画面。

我找不到有关在何处或如何使用标签的示例,除了官方文档,甚至在那里它们显示了示例 config.xml 和标签,但他们没有说明将它们放在哪里或是否有任何其他规则。

4

3 回答 3

2

对于 iOS

您需要将初始屏幕图像复制到平台目录中,它们不会自动从www/res/.

对于 iOS,这将是:

platform/ios/[name of your project]/splash/

这些应该是 PhoenGap 默认的闪屏。

安卓版

文档似乎有点缺乏这个。但是您需要在您的文件夹中创建相关文件platform/android/res夹。这些应该是:

  • 平台/android/res/drawable-land-hdpi
  • 平台/android/res/drawable-land-ldpi
  • 平台/android/res/drawable-land-mdpi
  • 平台/android/res/drawable-land-xhdpi
  • 平台/android/res/drawable-land-xxhdpi
  • 平台/android/res/drawable-port-hdpi
  • 平台/android/res/drawable-port-ldpi
  • 平台/android/res/drawable-port-mdpi
  • 平台/android/res/drawable-port-xhdpi
  • 平台/android/res/drawable-port-xxhdpi

在这些文件夹中,您将需要上传您的启动画面,确保它被称为 splash.png,否则它不会被应用程序拾取。

最后也是重要的一步,您需要将以下行添加到您的主 Activity 文件中,该文件可以在您的 android 项目文件夹中找到,并将与您的应用程序同名。该文件扩展了 Cordova 默认活动文件,该文件解释了有关扩展和添加启动画面的信息。该文件将是:

platforms/android/src/com/[your app name]/[your app name].java

它应该看起来像这样:

package com.your.project;

import android.os.Bundle;
import org.apache.cordova.*;

public class YourProject extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        super.loadUrl(Config.getStartUrl());
        //super.loadUrl("file:///android_asset/www/index.html")
    }
}

但是需要改成:

package com.your.project;

import android.os.Bundle;
import org.apache.cordova.*;

public class YourProject extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        super.setIntegerProperty("splashscreen", R.drawable.splash);
        super.loadUrl(Config.getStartUrl());
        //super.loadUrl("file:///android_asset/www/index.html")
    }
}

请注意添加的附加行:

super.setIntegerProperty("splashscreen", R.drawable.splash);

官方文档在这里,http://docs.phonegap.com/en/3.3.0/config_ref_images.md.html#Icons%20and%20Splash%20Screens,但它似乎没有涵盖所有必要的步骤。

于 2014-01-14T16:23:35.020 回答
0

所以这个问题现在似乎得到了解决。

正如您从我最初的问题中看到的那样,我对配置进行了错误的编码。PGB 版本选择代码不应为 "xmlns:gap = " http://phonegap.com/ns/3.0.0 " 但:

<preference name="phonegap-version" value="3.0.0" />

我确实为此责备了 PGB,因为文档不清楚(尽管它们正在改进)。

无论如何 -使用此处的信息让您的启动画面正常工作

我现在正在使用 PGB 3.3.0,看起来一切都很好。

于 2014-04-24T13:08:11.163 回答
0

根据您在问题下方的评论,这是我的建议。

  1. 创建一个黑色的小方块并将图像保存为 splash.png
  2. 将 splash.png 放在您的根文件夹中(与您的 index.html 相同的位置)
  3. 在您的 config.xml 中使用它<gap:splash src="splash.png" />

您现在将拥有一个纯黑色的启动画面,看起来就像没有启动画面一样。

于 2013-10-07T17:02:09.313 回答