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


84

HTML5PhonegapベースのAndroidアプリにスプラッシュ画面を追加する方法を教えてください。ロード時に5秒間表示したいだけです。また、スプラッシュ画面の寸法を誰かにアドバイスできますか。


2
フレンドリーなアドバイスですが、いかなる状況でも、モバイルアプリにスプラッシュ画面を配置することはお勧めできません。それはあなたのユーザーを非常に怒らせるでしょう。
Kurtis Nusbaum 2011年

37
申し訳ありませんが、カーティス、あなたが何を主張しているのかわかりません。ユーザーに迷惑をかけずに読み込み中にスプラッシュ画面を表示する非常に人気のあるモバイルアプリがたくさんあります。iOSには、特にこの目的のためにDefault.pngを作成した画像もあります。
Devgeeks 2011年

6
@Devgeeksスプラッシュ画面を表示している場合は、KurtisNusbaumに同意します。アプリケーションの起動に時間がかかる場合は、アクティビティインジケーターが表示されたスプラッシュ画面の方が、何もないよりも優れている可能性があります。これが、人気のあるアプリケーションの理由である可能性があります。それ以外の場合、スプラッシュ画面を表示しない人気のあるモバイルアプリが同数(またはそれ以上)あります。基本的に、できるだけ早くユーザーをアプリケーションに誘導します。毎回5秒のスプラッシュ画面は、長期的にユーザーを苛立たせるため、悪い考えです。
Kinjal Dixit 2012年

1
お願い...やらないで!スプラッシュスクリーンは良い考えではありません:)確かに、いくつかの人気のあるアプリにはそれがありますが、それは良い考えではありません;)
ŠtěpánVíteček2013

1
スプラッシュスクリーンは好み/デザインの問題だと思います。もちろん、ほとんどのUXの人々はそれを使用しないようにアドバイスしますが、私は彼らに同意しません。1秒のスプラッシュ画面は害を及ぼすことはありませんが、代わりに「個性」を追加し、アプリに「テーマ」を設定して、何千もの「ブートストラップ」アプリを際立たせます。私のデバイスでは、毎日使用されるアプリの70%以上にスプラッシュ画面があります:)
numediaweb 2013

回答:


176

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ます。次に、メインページをロードする前に5秒間一時停止するようにloadUrlメソッドを変更する必要があります。次のようになります。

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

それはあなたのためにそれをするはずです。

最近、PhoneGapAndroidでSplashScreenがどのように機能するかを更新しました。スプラッシュ画面が表示されている間にメインアプリが読み込まれるようになりました。これは、以前のブロッキングスプラッシュスクリーン呼び出しに比べて大幅に改善されています。変更点について詳しくは、ブログをご覧ください


1
こんにちはSImoni上記の実装時にアプリケーションが予期せず停止したというエラーが表示されますか?
ダンサー

2
PhoneGap1.2のtimeoutパラメータの使用に問題があるようです。stackoverflow.com/questions/8100219/

1
私は負荷にアプリのコンパイルと表示し、簡単タイムアウト5秒を削除する場合-それは...御馳走を動作しますタイムアウトの修正と上記の組み合わせのように見えるように、あなたの助けのために歓声
ダンサー

6
ユーザーに5秒間待つことを要求することは、ひどいアドバイスです。
grahamparks 2012

1
@BallisticPugh 9パッチの画像を使用して、何を引き伸ばすかを制御できるようにします。
サイモンマクドナルド


3

私の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

私もphonegapandroidでこの問題に直面しましたが、今は解決策があります。

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);
     }
}

1
これは通常見つけることができます:platforms/android/src/com/[your app name]/[Your App Name.java
Ian Jamieson 2014年

前述のパスに.javaファイルが見つかりませんでした
Prak

0

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

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

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


0

Cordova> = 3.6を使用し、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のドキュメントを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.