Material You의 모네 테마 엔진은 Android 12의 가장 큰 특징이며 작동 방식은 다음과 같습니다.

click fraud protection

Google 자료 한 곳에 많은 정보가 들어있지는 않지만 이해하기가 그렇게 복잡하지는 않습니다. 여기서 확인해보세요!

빠른 링크

  • 모네 테마 엔진의 작동 방식
  • RRO(런타임 리소스 오버레이)는 어떻게 되었나요?
  • 자료 당신은 여전히 ​​​​개선 중입니다
  • Android 13의 변경사항

지금까지 가장 큰 변화는 안드로이드 12 ~이다 재료 당신, Google 머티리얼 디자인 언어의 최신 버전입니다. 자료 귀하는 Google에서 다음과 같이 설명합니다.모든 스타일에 맞게 개인화되고, 모든 요구에 맞게 접근 가능하며, 모든 화면에 생동감 있고 적응력이 있는 디자인을 만들기 위해 노력합니다.Android 12를 개발할 때 Google은 풍부한 파스텔 색상 팔레트를 생성하는 코드명 "monet"이라는 새로운 테마 엔진을 만들었습니다. 사용자의 배경화면에서 파생됨. 그런 다음 이러한 색상은 시스템의 다양한 부분에 적용되며 해당 값은 다음을 통해 사용할 수 있습니다. 사용자의 애플리케이션이 호출할 수 있는 API로 앱이 색상을 다시 칠할지 여부를 결정할 수 있습니다. UI. Google은 Material You에 올인해 왔으며 회사는 대부분의 앱을 업데이트하여 동적 색상을 통합했습니다.

머티리얼 디자인의 역사에 대한 단기 집중 강좌의 경우 Android 5 Lollipop으로 처음 출시되었으며 사용자 경험에 중점을 두었습니다. 처럼 구글이 놓는다, "자료는 모범 사례를 지원하는 지침, 구성 요소 및 도구로 구성된 적응 가능한 시스템입니다. 사용자 인터페이스 디자인." 평면적인 파스텔 색상 팔레트, 깊이감, 부드러운 조명, 사실적인 특징이 특징이었습니다. 물리학. Android 9 Pie는 Material Design 2의 출현을 보았지만 첫 번째 Material Design 반복만큼 시각적인 점검이 크게 이루어지지는 않았습니다. Android 12에서는 다음이 출시되었습니다. 머티리얼디자인3, 이는 더 중요한 점검입니다.

그러나 색상 테마 엔진을 제거하면 실제로 Material You가 아닙니다. 저것 다른. 사실, "당신"으로 표시되는 개인적인 요소는 거의 완전히 사라집니다.

모네 테마 엔진의 작동 방식

"모네" 테마 엔진은 Material You에 관한 마법이 일어나는 곳이며 배경화면에서 어떤 색상이 선택되는지 결정하는 알고리즘입니다. Android 12L에서는 AOSP에 'Monet'이 추가되었습니다. 맞춤형 ROM 개발자도 이를 구현할 수 있습니다. "monet"의 오픈 소스 구현. 타사 앱 개발자는 무료입니다. 동적 색상에 대한 지원을 추가하려면 지금 당장은 제한된 수의 장치에서만 작동하더라도 말이죠.

Material You에 대해 대부분의 사람들이 갖고 있는 첫 번째 질문은 매번 잘 어울리고 잘 대비되는 색상을 선택하는 방법입니다. 색상 선택 알고리즘을 깨려는 의도로 셀 수 없이 많은 배경화면을 시도했지만 그 중 어느 것도 성공하지 못했습니다. 매번 함께 어울리는 색상을 선택하는데, 이는 아무리 말해도 인상적인 업적입니다. Android 12의 색상 선택 알고리즘이 어떻게 작동하는지 알아보기 위해 두 개의 이스터 에그 중 하나가 데스크톱에 추가할 수 있는 위젯 형태로 제공됩니다. 위젯에는 모네가 선택한 모든 색상이 표시되며, 위젯을 탭하면 전체 화면으로 표시될 수 있습니다. 전체 화면일 때 색상을 탭하여 공유할 수 있습니다. 공유하면 출력은 다음과 같습니다.

A1-600 (@android:color/system_accent1_600)
currently: #626200

사용자가 Android 12 기기에서 배경화면을 변경하면 이미지를 분석하여 색상을 선택합니다. 초기 시드를 사용하여 알고리즘에 따라 기본, 보조, 3차 및 오류 색상을 선택합니다. 색상. Material You에 전체적인 색조를 부여하는 두 가지 중성 색상도 선택되었습니다. 동시에 색상 이론과 접근성 규칙을 적용하고 있습니다. 이러한 색상에서 알고리즘은 0% 휘도(BLACK)에서 100%(WHITE) 범위의 색조 팔레트를 생성합니다. 동적 테마 또는 사용자 정의 테마는 이러한 색조 팔레트의 값을 사용하여 해당 색상 범위에 대한 테마 속성을 설정합니다. 벽지에서 최대 128개의 색상을 CIELAB 색상공간을 매개로 추출하여 해당 색상을 CAM16에 매핑됨. CAM16 색깔 외관 오델 실제 시드 색상을 결정하기 위해 색상을 정렬하고 필터링하는 데 사용되며, 해당 시드 색상을 사용하여 팔레트가 생성됩니다. 그런 다음 해당 색상은 시스템 전체의 색상 설정을 위해 RGB로 다시 매핑됩니다.

CIELAB은 때때로 "L*a*b*"라고도 합니다. L*은 인지된 밝기/명도를 나타내며, a* 및 b*는 인간 시각의 고유한 4가지 색상(빨간색, 녹색, 파란색, 노란색)을 나타냅니다. 밝기는 명암비를 계산하는 데 사용되므로 가독성을 보장합니다. 적용하고 나면 시스템 UI, 앱 등에 구현할 수 있는 시스템 전체의 아름다운 색상을 모두 얻을 수 있습니다.

RRO(런타임 리소스 오버레이)는 어떻게 되었나요?

RRO는 아무데도 가지 않았으며 Material You는 Fabricated Overlays API를 통해 작동합니다. 과거에 우리는 다음과 같이 이야기했습니다. 제작된 오버레이를 사용하여 뿌리 없는 테마를 되살리는 방법. 제작된 오버레이는 Android 12에 새로 추가된 기능으로 RRO와 약간 다르게 작동합니다. 우선, RRO 기기에 설치된 오버레이 APK를 통해 작업하는 반면, Fabricated Overlay는 단순히 앱에 어떤 색상을 적용할지 알려줍니다. 사용.

Fabricated Overlay는 RRO보다 조금 더 제한적입니다. Android 11 이전에는 RRO가 부울, 정수, 차원, 속성, 레이아웃, 심지어 원시 등 거의 모든 리소스를 재정의합니다. 데이터 파일. Android 11에서는 RRO 작동 방식을 일부 변경하여 레이아웃 재정의가 더 이상 불가능해졌습니다. 반면에 조작된 오버레이는 정수로 표시될 수 있는 값만 재정의할 수 있습니다. 여기에는 정수, 차원, 부울 및 색상이 포함됩니다. 이를 사용하여 원시 데이터 리소스, 레이아웃, 문자열 또는 배열을 재정의할 수는 없습니다. 적어도 쉽지는 않습니다.

그럼에도 불구하고 Material You와 Monet에 관해서는 이러한 제한이 실제로 중요하지 않습니다. 제작된 오버레이를 사용하면 APK가 컴파일되거나 시스템이 적용을 위해 재부팅될 때까지 기다리지 않고도 시스템이 즉시 색상 및 치수 오버레이를 쉽게 적용할 수 있습니다.

자료 당신은 여전히 ​​​​개선 중입니다

Material 당신의 역동적인 색상은 확실히 문제가 없는 것은 아니며, 그것을 근본적으로 깨뜨리는 것이 그다지 어렵지도 않습니다. 예를 들어, 배경화면을 빨리 바꾸는 경우 다음을 수행할 수 있습니다. 효과적으로 서비스 거부 공격을 실시합니다.. 미샤알 라만 확인했습니다 이 서비스 거부 공격은 Android 12L에서 수정되었습니다. Material You가 향후 버전에서 개선되기를 진심으로 바랍니다. Material You와 그 컨셉은 마음에 들지만 많은 작업이 필요하기 때문입니다. 내 개인적인 경험으로 볼 때, 버그가 부분적으로 AOSP에 추가되지 않은 이유인 것 같습니다... 그리고 Google이 이를 Pixel 시리즈 전용으로 효과적으로 시간 제한적으로 만들었다는 사실도 있습니다. 최근 Google Pixel 7에서 Android 13의 12월 패치로 업데이트한 후 문제가 발생했습니다. Pro, 나중에 Logcat에서 추적한 결과 Material You와 Google Pixel이 원인이었습니다. 발사통.

짜증나게, Android 12에서는 맞춤 글꼴 및 맞춤 아이콘 선택 항목이 제거되었습니다. Material You의 동적 테마를 선호합니다. 테마 시스템은 Pixel Themes 앱에서 처음 도입되었으며, Android의 오버레이 기반 테마 프레임워크를 기반으로 했습니다. Android 12의 Material You 테마 시스템은 맞춤설정이 더 용이하지만 Google이 Android 10에 도입한 맞춤 스타일을 제공하지 않습니다. 안에 논평 Google Issue Tracker에서 Google 직원은 삭제 이유를 다음과 같이 설명했습니다.

“R의 사용자 정의 스타일 기능(글꼴, 아이콘 모양, 아이콘 팩 및 강조 색상)은 S에서 도입하는 새로운 동적 테마 기능으로 대체됩니다. 우리는 새로운 동적 테마 기능이 더욱 현대적이고 지능적이라고 생각합니다. 모든 사용자가 즐길 수 있는 간단하고 즐거운 경험입니다.”

Google이 향후 글꼴과 맞춤 아이콘 선택을 다시 도입할 가능성은 낮아 보입니다. 많은 사용자들이 Google의 Material You 변경 사항에 대해 실망감을 표명했으며, 그것이 얼마나 깨졌는지 생각해 보면 그 이유를 완전히 이해합니다. Google이 구현을 개선하거나 다른 OEM은 같은 함정에 빠지지 않습니다 Google이 구현한 것입니다.

Android 13의 변경사항

Google은 Material You를 개선했습니다. 출시를 위해 안드로이드 13, 첫 번째 개선 사항 중 하나는 5가지 추가 색상 스타일을 추가한 것입니다. 이러한 새로운 색상 스타일은 TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW 및 FRUIT_SALAD라고 합니다. 우리는 스크린샷을 찍어 아래와 같이 보여주었습니다.

  • TONAL_SPOT: 기본 재질 색상
  • VIBRANT: 약간씩 다른 색상과 보다 다채로운 보조 및 배경 색상을 사용하여 보다 톤이 높은 팔레트를 생성합니다.
  • EXPRESSIVE: VIBRANT보다 더 다채로운 여러 눈에 띄는 색조가 포함된 팔레트를 생성합니다.
  • SPRITZ: 보다 낮은 색상 팔레트를 생성합니다.

Android 13에서는 개발자가 시스템 테마를 사용할 수 있도록 테마 앱 아이콘을 가질 수 있는 기능도 도입했습니다. 개발자는 앱에 적응형 아이콘과 단색 앱 아이콘을 모두 제공하여 이를 지원할 수 있습니다. 하지만 런처는 여전히 Google Pixel 런처와 같은 테마 아이콘을 지원해야 합니다.


XDA 선임 회원에게 감사드립니다. kdrag0n, ProtonAOSP 및 Material You 테마 시스템을 재현한 것입니다., 이 기사에 도움을 주셔서 감사합니다!