2023.08.08
Flamingoで作成したMaterial Design 3 CatalogをGiraffeに移行しました
GradleをGroovyからkts+Gradle Version Catalogsに変更、API 34 / kotlin 1.9.0 / jvm 17…などに更新しました
この更新で以前の実装に影響はありませんでした
前バージョンのプロジェクトを個別に更新すると手間と差分が正しいか気になるので、それほどボリュームがあるプロジェクトでもないのでGiraffeで新規作成したプロジェクトに移植する形にしています
あと新規機能でアプリ内でThemeをsystem/light/darkと選択できるようにしました
自動生成されたTheme.ktのアプリのThemeメソッドの引数を変えるだけで簡単に実現できます
設定はSharedPreferencesで保存するようにしたのでアプリ終了後でも引き継がれています
設定を選択するMenuはMaterial Design 3 Catalogのサンプルコードをそのまま流用
設定変更はほぼ全画面(共通処理のため実際は2箇所)でできるためアプリの自作の状態管理クラス(AppState)にstateableなフラグとコールバックを追加して実現しました
ほぼこのブログにかかれていることの流用でサクッと対応できて短期でリリースできました!