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를 선택하여 실행합니다.
잠시 기다리면 기기 또는 에뮬레이터에 앱이 설치됩니다.

동작 확인



이 앱은 원래 머티리얼 컴포넌트는 어떤 것이 있는지 확인하기 위한 앱입니다.
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가 사용되어 갈 것 같기 때문에, 향후의 움직임에 주목하네요.

좋은 웹페이지 즐겨찾기