web-dev-qa-db-ja.com

phonegap-Androidアプリのスプラッシュ画面

HTML5 PhonegapベースのAndroidアプリにスプラッシュスクリーンを追加する方法を教えてください。ロード時に5秒間表示するだけです。また、誰でもスプラッシュスクリーンのサイズをアドバイスできます。

84
Dancer

PhoneGap Androidアプリケーションにスプラッシュスクリーンを表示するには、splash.pngファイルをres/drawable-ldpires/drawable-mdpires/drawable-hdpires/drawable-xhdpiに配置する必要があります。これらのディレクトリは、1インチあたりの低、中、高、および特大のドットを表します。各ディレクトリのsplash.png(ここではファイル名が重要です)のサイズを変更する必要があります。そうしないと、Androidによってサイズが拡大されます。

各画像のサイズは次のとおりです。

  • xlarge(xhdpi):少なくとも960 x 720
  • 大(hdpi):少なくとも640 x 480
  • 中(mdpi):少なくとも470 x 320
  • 小(ldpi):少なくとも426 x 320

次に、メインのJavaクラス(DroidGapを拡張するクラス)で、1行追加して別の行を変更する必要があります。最初に追加:

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

この行はsuper.onCreateの下で、super.loadUrlの前に表示されます。次に、メインページをロードする前にloadUrlメソッドを5秒間停止するように変更する必要があります。次のようになります。

super.loadUrl("file:///Android_asset/www/index.html", 5000);

それはあなたのためにそれを行う必要があります。

私は最近、PhoneGap AndroidでのSplashScreenの動作を更新しました。スプラッシュ画面が表示されている間に、メインアプリがロードされるようになりました。これは、以前のブロッキングスプラッシュスクリーンコールに対する大きな改善です。 私のブログで変更点の詳細を読む

176
Simon MacDonald

Phonegap(Apache Cordova)のドキュメントには、スプラッシュスクリーンに関する十分な詳細と、1つの場所でAndroidとiOSの両方の異なる解像度が記載されています。

http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html

6
Rajiv

PhonegapアプリAndroidバージョンでは、スプラッシュスクリーンを設定したり、loadUrlを呼び出す前に「読み込み」ダイアログを設定したりすると、Eclipseデバッガーはかんしゃくを投げます。

どちらも、デバイスにインストールされた実際のアプリでは機能しますが、デバッグを中断します。そこで、私はそれらをloadUrlの後ろに置きました。そこでは、彼らは害を及ぼさず、アプリ自体よりもずっと前に表示されます。

public class App extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.loadUrl("file:///Android_asset/www/index.html",5000);
    super.setStringProperty("loadingDialog", "Starting your app...");
    super.setIntegerProperty("splashscreen", R.drawable.splash);
    ...
}...
3
Wytze

また、phonegap Androidでこの問題に直面しましたが、解決策が得られました。

super.setIntegerProperty("splashscreen", R.drawable.splash);(find image under drawable folder named splash,so put splash.png under drawable folder)
super.loadUrl("file:///Android_asset/www/index.html",15000);(splash screen will show 15 sec.

プロジェクトディレクトリのsrcフォルダの下にあるメインJavaファイルを編集してください。

public class radiobiafra extends DroidGap
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
         super.onCreate(savedInstanceState);

         super.setIntegerProperty("splashscreen", R.drawable.splash);
         super.loadUrl("file:///Android_asset/www/index.html",15000);
     }
}
3
user859952

これはおそらくあなたのニーズを満たすでしょう。関連するすべてのconfig.xml設定、画像、およびスプラッシュスクリーンをカスタマイズし、素敵な直感的なインターフェイスで追加できます。

ファイルをダウンロードして手動でインストールすることをお勧めします。 Webベースのエアインストーラーが機能しないようです。

http://aj-software.com/configap/index.html

0
Phill Healey

3.6を超えるCordovaを使用し、Cordovaコマンドラインインターフェイスを使用してアプリを構築すると、config.xmlファイルからスプラッシュスクリーンを構成できます。これはAndroidの例です。

<platform name="Android">
    <!-- you can use any density that exists in the Android project -->
    <splash src="res/screen/Android/splash-land-hdpi.png" density="land-hdpi"/>
    <splash src="res/screen/Android/splash-land-ldpi.png" density="land-ldpi"/>
    <splash src="res/screen/Android/splash-land-mdpi.png" density="land-mdpi"/>
    <splash src="res/screen/Android/splash-land-xhdpi.png" density="land-xhdpi"/>

    <splash src="res/screen/Android/splash-port-hdpi.png" density="port-hdpi"/>
    <splash src="res/screen/Android/splash-port-ldpi.png" density="port-ldpi"/>
    <splash src="res/screen/Android/splash-port-mdpi.png" density="port-mdpi"/>
    <splash src="res/screen/Android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>
<preference name="SplashScreenDelay" value="10000" />

また、プログラムでスプラッシュスクリーンを表示/非表示にする 専用プラグイン もあります。

詳細については、 Cordovaドキュメント を参照してください。

0
lifeisfoo