0

マニフェストで以下の SDK を使用するアプリがあります。

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

画面の回転時にアクティビティが再起動しないようにするには、マニフェストに追加します。

 android:configChanges="orientation|keyboardHidden|screenSize"

onConfigurationChanged以下のように、in アクティビティ自体もオーバーライドする必要がありますか。

   @Override
 public void onConfigurationChanged(Configuration newConfig) {
 super.onConfigurationChanged(newConfig);
 setContentView(R.layout.myLayout);
 }

または、マニフェストの次の行で十分ですか:

  android:configChanges="orientation|keyboardHidden|screenSize"

どんな助けでも大歓迎です。

4

3 に答える 3

2

画面の回転時にアクティビティが再開しないようにするには

通常、これはあまり良い考えではありません。

マニフェストに追加します: android:configChanges="orientation|keyboardHidden|screenSize"

それは通常、あまり良い考えではありません。あなたがすることは、自分のためにもっと多くの仕事を生み出すことだけです。そこにリストされていないすべての構成変更を処理するには、標準の構成変更ロジックがすべて必要です。さらに、これら 3 つのケースを個別に処理する必要がある場合もあります。

onConfigurationChanged をオーバーライドする必要がありますか

それは、リストした構成に対して、構成に基づいて UI が異なるかどうかによって異なりますandroid:configChanges(たとえば、縦向きは横向きとは異なりますか?)。答えが「はい」の場合は、名簿onConfigurationChanged()にリストされているイベントの UI を修正する場所です。android:configChanges答えが「いいえ」の場合、このメソッドをオーバーライドする必要はありません。

于 2013-07-24T23:52:16.947 に答える
0

あなたが持っていた以下のマニフェストピースは、回転を防ぐのに十分です:

android:configChanges="orientation|keyboardHidden|screenSize"
于 2013-07-24T23:37:16.603 に答える