前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

前画面に戻った際にAppBarLayoutのスクロール状態が元に戻ってしまう

課題

CoordinatorLayoutを使っている画面で、画面遷移後にバックボタンを押下すると
端末によってはスクロール位置が保持されずにAppBarLayoutが全て開いた状態になってしまっている。
どうすればいいか。

対応

CoordinatorLayoutにidを付与する。
バックボタンで前画面に戻った場合、スクロールなどのViewの状態はAndroid側でよしなに戻してくれるが、
ViewにIDが付与されていないと値を戻す対象を見つけられず、戻せないため初期状態のままとなる。
AppBarのスクロール状態の復帰にはCoordinator側にもidの設定が必要。

必ず発生する訳でもなさそうだが、発生した場合にはIDの設定漏れを疑ってみる。