画面回転時の Android アプリの Activity 処理
Androidアプリは画面回転時にActivityの再生成処理が走る。 そのため、実装によっては例えばユーザーが入力した情報などが画面の回転によって消えてしまう。 途中まで入力した情報が消えてしまうとそれまでの労力が無駄となりユーザーにとってはとても煩わしい。
画面回転時に再生成しないようにする
ViewModelやInstanceStateなどで画面の状態を保持する機能を駆使して、 画面の再生成処理が走っても問題ないようにするのがまともな方向性となる。
しかし、なにかの理由で実装が難しいのであれば画面回転時に再生性しないように設定する方法もある。
参考: 構成の変更を処理する
実装方法
AndroidManifest.xml
AndroidManifest.xml
で対象のアクティビティの android:configChanges
を設定する。
これだけで設定対象のアクティビティの回転時に再生性が行なわれなくなる。
<activity
...
android:configChanges="orientation|screenSize"
...>
さらに回転時になにか処理したい場合
AndroidManifest.xml
に android:configChanges
を設定した場合、
画面回転時にActivityやFragmentの onConfigurationChanged
メソッドがコールバックされる。
この onConfigurationChanged
メソッドをオーバライドすれば、画面回転時に任意の処理を行なえる。
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
// 回転時に行いたい処理
}
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/