カテゴリ:カテゴリ未分類
Xperia 1 が極端なんですけど、 最近のAndroidスマホは縦長な画面なので、 縦向きで使う前提で画面デザインするわけです。 画面の回転させるとアプリが落ちることがあるので、 画面の向きをアプリで縦向きに固定するわけです。 スマホだけを対象にしていたら、 これでよかったです。 本体の設定で画面の自動回転を有効にていても、 画面の回転しませんから、、、 それが、 タブレットだと、本体の設定で画面の自動回転を有効にしていると、 横向きにすると、画面レイアウトそのままに画面が回転するわけです。 そこで、 画面が回転してもアプリが落ちないように対応する。 画面が回転すると、 画面(Activity)の再起動するから。 再起動でアプリが落ちる原因のひとつが、 引数が必要なコンストラクターをもつクラスがあると、 再起動時は引数が渡されずにクラスがインスタンス化されると アプリが落ちるというわけ。 なので、 画面が中断(onPause)した際に、 そのクラスを破棄すればよい。 でも、アプリが再起動するので、 状態をもつ画面だと、もとに戻らない、、、 マニュフェスト(AndroidManifest.xml)に、 android:configChanges="orientation|screenSize" を設定すると、画面が回転してもアプリが再起動しないそうだが、、、 この設定だと、 タブレットの画面が回転すると、画面が再起動しますよー(謎) そもそもアプリで画面を固定していると、 この設定は全く意味をなさない。 タブレットも対応するなら、 android:configChanges="orientation|screenSize|screenLayout|keyboardHidden" を設定すると、再起動しなくなりますよー。 ポチッとして頂けると、 次のコンテンツを作成する励みになります♪ お気に入りの記事を「いいね!」で応援しよう
最終更新日
2023.09.11 15:25:58
コメント(0) | コメントを書く |