cordova-plugin-splashscreen

Chrome Testsuite Lint Test

このプラグインは、ウェブアプリケーションの起動中にスプラッシュスクリーンを表示および非表示にします。そのメソッドを使用すると、スプラッシュスクリーンを手動で表示および非表示にすることもできます。

インストール

// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen

// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git

サポートされているプラットフォーム

  • ブラウザ

プラットフォームスプラッシュスクリーンイメージ設定

設定例

最上位のconfig.xmlファイル(platforms内のファイルではありません)に、ここに指定されているような設定要素を追加します。

"src"属性の値は、プロジェクトのルートディレクトリに対する相対パスであり、wwwディレクトリに対する相対パスではありません(下記の「ディレクトリ構造」を参照)。ソースイメージファイルの名前は任意です。アプリケーション内の内部名はCordovaによって自動的に決定されます。

ディレクトリ構造

projectRoot
    hooks
    platforms
    plugins
    www
        css
        img
        js
    res
        screen
<preference name="SplashScreenDelay" value="10000" />

プリファレンス

config.xml

  • AutoHideSplashScreen(ブール値、デフォルトはtrue)。スプラッシュスクリーンを自動的に非表示にするかどうかを示します。スプラッシュスクリーンは、SplashScreenDelayプリファレンスで指定された時間後に非表示になります。

      <preference name="AutoHideSplashScreen" value="true" />
    
  • SplashScreenDelay(数値、デフォルトは3000)。スプラッシュスクリーンを自動的に非表示にするまでの待機時間(ミリ秒)。

      <preference name="SplashScreenDelay" value="3000" />
    

    この値は以前は秒単位でしたが(現在はミリ秒単位です)、30未満の値は秒単位として引き続き扱われます。(これは将来のバージョンで削除される予定の非推奨のパッチと考えてください。)

    スプラッシュスクリーンを無効にするには、次のプリファレンスをconfig.xmlに追加します。

      <preference name="SplashScreenDelay" value="0"/>
    
  • FadeSplashScreen(ブール値、デフォルトはtrue):スプラッシュスクリーンの表示状態が変更されたときにフェードインとフェードアウトを防止するには、falseに設定します。

      <preference name="FadeSplashScreen" value="false"/>
    
  • FadeSplashScreenDuration(浮動小数点数、デフォルトは500):スプラッシュスクリーンのフェード効果の実行時間(ミリ秒)を指定します。

      <preference name="FadeSplashScreenDuration" value="750"/>
    

    注記FadeSplashScreenDurationSplashScreenDelayに含まれます。たとえば、config.xml<preference name="SplashScreenDelay" value="3000" /><preference name="FadeSplashScreenDuration" value="1000"/>が定義されている場合

    • 00:00 - スプラッシュスクリーンが表示されます
    • 00:02 - フェード開始
    • 00:03 - スプラッシュスクリーンが非表示になります

    <preference name="FadeSplashScreen" value="false"/>でフェードをオフにすると、技術的にはフェード時間は0になり、この例では全体のスプラッシュスクリーンの遅延時間は3秒のままであることを意味します。

    注記:これはアプリケーションの起動にのみ適用されます。アプリケーションのコードでスプラッシュスクリーンを手動で表示/非表示にする場合は、フェードのタイムアウトを考慮する必要があります。

      navigator.splashscreen.show();
      window.setTimeout(function () {
          navigator.splashscreen.hide();
      }, splashDuration - fadeDuration);
    

特異点

config.xmlで次のプリファレンスを使用できます。

<platform name="browser">
    <preference name="SplashScreen" value="/images/browser/splashscreen.jpg" /> <!-- defaults to "/img/logo.png" -->
    <preference name="AutoHideSplashScreen" value="true" /> <!-- defaults to "true" -->
    <preference name="SplashScreenDelay" value="3000" /> <!-- defaults to "3000" -->
    <preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
    <preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
    <preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
    <preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>

注記:サブページで機能させるには、SplashScreenの値は絶対パスである必要があります。

メソッド

  • splashscreen.show
  • splashscreen.hide

splashscreen.hide

スプラッシュスクリーンを閉じます。

navigator.splashscreen.hide();

splashscreen.show

スプラッシュスクリーンを表示します。

navigator.splashscreen.show();

アプリケーションは、アプリケーションが起動し、devicereadyイベントが発生するまで、navigator.splashscreen.show()を呼び出すことができません。しかし、通常スプラッシュスクリーンはアプリケーションが起動する前に表示されることを意図しているため、これはスプラッシュスクリーンの目的を無効にするように思えます。config.xmlにパラメーターを指定すると、アプリケーションが起動し、完全に起動してdevicereadyイベントを受信する前に、スプラッシュスクリーンがすぐに表示されます。このため、アプリケーションの起動時にスプラッシュスクリーンを表示するためにnavigator.splashscreen.show()を呼び出す必要性は低いと考えられます。