The offset was read before being initialized の対処法
BottomSheetScaffoldなどのBottomSheetを使うAPIはmaterialとmaterial3の両方に存在します。今回の問題は両方ともに発生している問題でGoogle Issue Trackerにも報告されています。
そこで紹介されている回避方法をまとめました。
エラー内容
The offset was read before being initialized. Did you access the offset in a phase before layout, like effects or composition?
訳: オフセットの読み取りが初期化前に行われました。レイアウトフェーズよりも前のフェーズでオフセットにアクセスしましたか?
解決方法に直接関係はありませんが、このフェーズはJetpack Composeのフェーズを指しています。
原因
私の場合はgradleのdependenciesを更新したことで起きました。
解決方法
material3の場合
build.gradle(:app)のmaterial3をこちらに書き換えれば解決します。
implementation "androidx.compose.material3:material3:1.2.0-alpha07"
materialの場合
build.gradle(:app)のmaterialをこちらに書き換えれば解決します。
implementation "androidx.compose.material:material:1.6.0-alpha05"
参考サイト
・Google Issue Tracker Material3 BottomSheetScaffold crash when in NavHost since -alpha05
・Compose マテリアル3
・Google Issue Tracker ModalBottomSheetLayout crashes when rotating from halfExpanded in landscape to portrait without halfExpanded
・Compose マテリアル