3

Android でも iOS でも、スプラッシュ スクリーンがまったく動作しません。

私は PhoneGap Build を使用しており、v3.0.0 用の config.xml をこのように設定しました。

<?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ます。これらは次のとおりです。

  • platform/android/res/drawable-land-hdpi
  • platform/android/res/drawable-land-ldpi
  • platform/android/res/drawable-land-mdpi
  • platform/android/res/drawable-land-xhdpi
  • プラットフォーム/アンドロイド/レス/ドローアブルランド-xxhdpi
  • platform/android/res/drawable-port-hdpi
  • platform/android/res/drawable-port-ldpi
  • platform/android/res/drawable-port-mdpi
  • platform/android/res/drawable-port-xhdpi
  • platform/android/res/drawable-port-xxhdpi

これらのフォルダー内に、スプラッシュ スクリーンをアップロードする必要があります。それは、splash.png という名前であることを確認してください。そうしないと、アプリケーションによって取得されません。

最後の重要なステップとして、次の行をメインのアクティビティ ファイルに追加する必要があります。これは 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

あなたの質問の下のコメントに基づいて、ここに私が推奨するものがあります。

  1. 小さな黒い四角形を作成し、画像を「splash.png」として保存します
  2. ルート フォルダー (index.html と同じ場所) に、splash.png を配置します。
  3. これをconfig.xmlで使用します<gap:splash src="splash.png" />

スプラッシュ スクリーンがないように見える真っ黒なスプラッシュ スクリーンが表示されます。

于 2013-10-07T17:02:09.313 に答える