画面回転時に画面を更新させない


通常、Androidの画面が回転した時にはonCreateが呼ばれるため、画面が更新されます。縦横でレイアウトを変更したい時などは便利ですが、更新したくない場合。
まずAndroidManifestのactivityに

android:configChanges="orientation"

を記述します。これで画面が回転した時にonCreateの代わりにonConfigurationChangedが呼び出されるようになります。
次に、javaファイルに以下を記述します。

public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

これで画面回転時に画面を更新せず、情報を保持したままとなります。

※Android3.2(APILevel13)以降で動作するように設定している場合、上記の記述だけではonConfigurationChangedが呼び出されないので、AndroidManifestに記述する内容を以下に変更してください。

android:configChanges="orientation|screenSize"

3.2以降ではこのscreenSizeを一緒に記述しないと動作しないようです。

Comments

comments

「画面回転時に画面を更新させない」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です