初始屏幕在PhoneGap Build中不起作用

我无法在Android或iOS上获得启animation面。

我正在使用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> 

我把个人信息拿出来了

该应用程序工作正常,否则,但我从来没有得到启animation面工作,即使是PhoneGap 2.7.0和2.9.0,只是Android。

splash.png和icon.png目前实际上是相同的图像。 我已经尝试了不同的。 我最近才开始在iOS上进行testing,PhoneGap Build默认图标似乎只是在iOS中出现的,我决定我需要把自定义启animation面。

我找不到在哪里或如何使用标签的例子,除了官方的文档,甚至在那里他们显示了一个例子config.xml和标签,但他们没有说哪里把它们,或者如果有任何其他规则。

对于iOS

您将需要将启animation面图像复制到平台目录中,它们不会自动从www/res/复制。

对于iOS,这将是:

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

这些应该是PhoenGap的默认启animation面。

对于Android

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

  • 平台/安卓/ RES /绘制土地,华电国际
  • 平台/安卓/ RES /绘制,陆地LDPI
  • 平台/安卓/ RES /绘制,陆地MDPI
  • 平台/安卓/ RES /绘制,陆地xhdpi
  • 平台/安卓/ RES /绘制,陆地xxhdpi
  • 平台/安卓/ RES /绘制端口,华电国际
  • 平台/安卓/ RES /绘制端口,LDPI
  • 平台/安卓/ RES /绘制端口,MDPI
  • 平台/安卓/ RES /绘制端口,xhdpi
  • 平台/安卓/ RES /绘制端口,xxhdpi

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

最后一个重要的步骤是,您需要将以下行添加到您的主Activity文件中,这可以在您的android项目文件夹中find,并将被命名为与您的应用程序相同的名称。 该文件扩展了Cordova默认活动文件,该文件解释了如何扩展和添加启animation面。 该文件将是:

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 ,但它似乎并没有涵盖所有必要的步骤。

根据你的问题下面的评论,这是我的build议。

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

你现在将有一个坚实的黑色闪屏,看起来像没有闪屏。

所以这个问题似乎现在已经解决了。

正如你从我最初的问题中可以看到,我编写的configuration错误。 PGB版本select代码不应该是“xmlns:gap =” http://phonegap.com/ns/3.0.0 “,但是:

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

由于文档不太清楚(虽然它们正在改进),但我认为这是PGB的一个原因。

无论如何 – 让你的启animation面在这里使用信息 。

我现在使用PGB 3.3.0,似乎一切正常。