HTML5PhonegapベースのAndroidアプリにスプラッシュ画面を追加する方法を教えてください。ロード時に5秒間表示したいだけです。また、スプラッシュ画面の寸法を誰かにアドバイスできますか。
HTML5PhonegapベースのAndroidアプリにスプラッシュ画面を追加する方法を教えてください。ロード時に5秒間表示したいだけです。また、スプラッシュ画面の寸法を誰かにアドバイスできますか。
回答:
PhoneGapのAndroidのアプリケーションでスプラッシュ画面を持つために、あなたの置く必要splash.png
にファイルをres/drawable-ldpi
、res/drawable-mdpi
、res/drawable-hdpi
、res/drawable-xhdpi
。これらのディレクトリは、1インチあたりの低、中、高、および特大のドットを表します。ディレクトリごとにsplash.png(ここではファイル名が重要です)のサイズを変更する必要があります。そうしないと、Androidがそれを拡張します。
各画像のサイズは次のようになります。
次に、メインの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がどのように機能するかを更新しました。スプラッシュ画面が表示されている間にメインアプリが読み込まれるようになりました。これは、以前のブロッキングスプラッシュスクリーン呼び出しに比べて大幅に改善されています。変更点について詳しくは、ブログをご覧ください。
Phonegap(Apache Cordova)のドキュメントには、スプラッシュ画面とAndroidとiOSの両方のさまざまな解像度に関する十分な詳細が1か所にあります。
http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html
私の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);
...
}...
私も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.
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);
}
}
platforms/android/src/com/[your app name]/[Your App Name.java
これはおそらくあなたのニーズを満たすでしょう。直感的なインターフェイスで、関連するすべてのconfig.xml設定、画像、スプラッシュスクリーンをカスタマイズして追加できます。
ファイルをダウンロードして手動でインストールすることをお勧めします。Webベースのエアインストーラーが機能していないようです。
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のドキュメントを参照してください。