3

横向きと縦向きの 2 つのスプラッシュ スクリーンを設定してみました。そのために、アクティビティクラスに以下のコードを書きました

if (getResources().getConfiguration().orientation == 2) {
            super.setIntegerProperty("splashscreen", R.drawable.equipsplashscreen);
            Log.d("Orientation", "Landscape");
        }
        else {
            super.setIntegerProperty("splashscreen", R.drawable.splashscreen);
            Log.d("Orientation", "Portrait");
        }

画面は向きに応じて表示されますが、問題は..読み込み中に画面が変更されないことです(つまり、縦向きモードでアプリを起動し、スプラッシュ画面の読み込み中に向きを縦向きから横向きに変更しました。そのとき私の横向き画像ロードされていませんでした..縦向きの画像のみが横向きのスタイルに変更されました)。

私はcordova-1.8.0とjquery-1.7.1を使用しています

どうすればこれを行うことができますか..事前に感謝..

4

1 に答える 1

0

Android では、このように onConfigurationChanged メソッドをオーバーライドする必要があります

@Override
public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        setContentView(R.layout.splashscreen);
        init();
    } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        setContentView(R.layout.splashscreen);
        init();
    }
}

そして、このようにマニフェストに 1 つのタグを追加します

<activity
    android:name=".YourActivity"
    android:configChanges="orientation|keyboardHidden"
    android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan" />

電話ギャップがわからないので、電話ギャップの要件を確認してください。Androidで行ったことのヒントを提供します。

于 2012-11-08T07:16:47.367 に答える