Material Youのサンプルアプリを触ってみる
はじめに
こちらの記事はGoogle I/O 2021で発表された『Material You』のAndroid向けサンプルアプリについての記事になります!
そもそもMaterial Youとは? という方向けの記事も書いてますので、よろしければこちらをご覧ください
サンプルアプリの取得
動作環境
・ M1 MacBook Pro
・ Big Sur 11.4
・ Android Studio Arctic Fox
・ Pixcel 3a / Andorid12(ベータ版)
※確認端末はエミュレータでも構いませんが、Android12が入っていることが前提になりますので、ご注意ください
GitHubからclone
material-components-androidの中にサンプルアプリ『Catalog』がありますので、そちらを取得しに行きます。
以下のコマンドをターミナルで実行してください。
git clone https://github.com/material-components/material-components-android
Android Studioでサンプルアプリをビルド
clonesしたプロジェクトをAndroidStudioで立ち上げ、実行モジュールに『Catalog』を選択して実行します。
しばらく待てば、端末あるいはエミュレータにアプリがインストールされます。
動作確認
こちらのアプリはもともとMaterial Componentsはどのようなものがあるのかを確認するためのアプリです。
Dynamic Colorsというのが、端末の背景色に合わせて自動的にアプリのテーマを変えてくれる機能です。Material Youの目玉機能になります!
テーマを変えた時の動作
Androidでは、アプリをライトテーマからダークテーマに切り替えた時、Activityが再生成されていましたが、テーマ切り替えの場合はどうなるのでしょうか?
ログを仕込んで検証してみます。
MainActivityの各ライフサイクルコールバックにログを追加して実行したところ、以下のようなログが取得できました。
// アプリを起動した時
2021-09-30 19:00:07.612 10325-10325/io.material.catalog I/LIFECYCLE: onCreate
2021-09-30 19:00:07.756 10325-10325/io.material.catalog I/LIFECYCLE: onStart
2021-09-30 19:00:07.758 10325-10325/io.material.catalog I/LIFECYCLE: onResume
// Dynamic ColorsをONにした時
2021-09-30 19:00:19.458 10325-10325/io.material.catalog I/LIFECYCLE: onPause
2021-09-30 19:00:19.480 10325-10325/io.material.catalog I/LIFECYCLE: onStop
2021-09-30 19:00:19.486 10325-10325/io.material.catalog I/LIFECYCLE: onSaveInstanceState
2021-09-30 19:00:19.506 10325-10325/io.material.catalog I/LIFECYCLE: onDestory
2021-09-30 19:00:19.538 10325-10325/io.material.catalog I/LIFECYCLE: onCreate
2021-09-30 19:00:19.711 10325-10325/io.material.catalog I/LIFECYCLE: onStart
2021-09-30 19:00:19.713 10325-10325/io.material.catalog I/LIFECYCLE: onResume
テーマ切り替え時にはやはりActivityが再生成されるみたいです。
利用する際には、ViewModel等を使ってデータの保持をしておく必要がありそうですね。
onSaveInstanceStateも通過するので、テーマ変更が押されたかやテーマを変更したかなどの行動ログを撮りたい場合には使えそうです。
ちなみにAndroid12以降の端末でなければDynamic Colorsは利用できず、デフォルトテーマのままでした。
終わりに
今回はサンプルアプリを触ってみました。
いままでアプリのテーマは各アプリごとの固有なものでしたが、Dynamic Colorsを使うことで端末に合わせたテーマに変更されます。
企業やサービスとしてテーマカラーに気を付けている場合には使わない方がいいかもしれないです(ゲームなど)。
逆にメモ、TODO、カレンダーなどについてはどんどん使っていってもいいのかななんて思います。
今後のGoogleサービスにはMaterial Youが使用されていくそうですので、今後の動きに注目ですね。
Author And Source
この問題について(Material Youのサンプルアプリを触ってみる), 我々は、より多くの情報をここで見つけました https://qiita.com/t_nana/items/9bdddd9fd2d5388424a6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .