Google은 배경 화면 기반 동적 테마를 더 많은 플랫폼에 제공하기 위해 Material Color Utilities 라이브러리를 출시했습니다.
Google은 Material You의 동적 테마 시스템을 중요하게 생각합니다. 회사는 분명히 원한다 테마 엔진을 제공하는 더 많은 Android OEM (모네나 이와 유사한 것) 에 안드로이드 12 그러나 그것이 배경 화면 기반 테마 시스템에 대한 Google의 계획 범위는 아닌 것 같습니다. 회사는 이제 새로운 테마 시스템을 더 많은 플랫폼에 제공하기 위한 노력의 일환으로 Material Color Utilities 코드 라이브러리를 오픈 소스화했습니다.
최근 블로그 게시물(경로: 나인투파이브구글), Google의 James O'Leary는 Material Color Utilities가 색상을 위한 크로스 플랫폼 코드 라이브러리임을 밝혔습니다. 개발자가 다양한 플랫폼에서 Material You의 동적 테마 시스템을 구현하는 데 필요한 모든 것이 포함되어 있습니다. 현재 라이브러리는 Dart, Java 및 Typescript에서 사용할 수 있지만 Google은 SASS 및 GLSL 셰이더를 통해 iOS, CSS로 가져올 계획입니다. 오픈 소스이므로 누구나 라이브러리에 기여할 수 있습니다.
또한 블로그 게시물에서는 Android 12에서 동적 테마 시스템이 어떻게 작동하는지 정확하게 설명합니다. 게시물에 설명된 대로 Android 12 기기에서 배경화면을 변경할 때마다 다음이 수행됩니다.
"먼저, 배경 화면을 양자화하여 수천 가지 색상을 색상 공간에서 병합하여 더 작은 수로 줄입니다. 축소된 색상 세트는 통계 알고리즘을 효율적으로 실행할 수 있을 만큼 작습니다. 이러한 알고리즘은 색상을 평가하고 필터링하는 데 사용됩니다. Android 12는 다채로움과 이미지 표현 정도에 대한 색상 옵션을 제공하며 단색에 가까운 색상을 필터링합니다.
알고리즘에 의해 기본적으로 최상위 색상으로 지정되거나 배경화면 선택기에서 사용자가 선택한 색상 중 하나가 소스 색상이 됩니다. 색상과 채도는 전체 색상 구성에 영향을 미치며 사용자가 선택한 색상에 따라 생생한 파란색 구성 또는 차분한 녹색 구성을 가능하게 합니다.
소스 색상을 사용하여 5가지 톤 팔레트 세트인 코어 팔레트를 만듭니다. 색조 팔레트는 색조와 채도로 정의됩니다. 팔레트의 색상은 다양한 톤에서 나옵니다. 이러한 톤 팔레트는 디자인 시스템을 만들 때 디자이너의 인지 부하를 줄여줍니다. 역할별로 색상과 채도를 지정하는 대신 톤 팔레트로 대체할 수 있습니다.
마지막으로 각 색상 역할의 색상 채도와 톤을 정의하는 표를 작성한 다음 해당 값과 HCT를 사용하여 테마에 사용되는 색상을 만듭니다."
또한 블로그 게시물에서는 Google이 새로운 HCT(색조, 채도, 톤) 색상을 어떻게 생각해 냈는지 강조합니다. 기존 HSL(색조, 채도, 명도) 시스템을 대체하여 색상으로 디자인하는 시스템 더 쉽습니다. 이 새로운 색상 시스템에 대한 자세한 내용은 다음을 확인하세요. 원래 블로그 게시물.