Material You의 동적 테마 기능을 앱에 통합하고 싶으십니까? 이 라이브러리를 사용하면 Android 12 이전 기기에도 추가할 수 있습니다.
재료 당신 Google 디자인 언어의 최신 개정판입니다. Material You를 통해 Google은 개인화를 강조하고 있습니다. 안드로이드 12, 색상을 사용하여 UX를 다시 칠하는 새로운 동적 테마 시스템이 있습니다. 배경화면에서 추출됨. 코드명 "monet"인 이 동적 테마 시스템은 Android 12 베타 2에 출시되었습니다., 그러나 Google은 아직 API/구현을 문서화하거나, 지원 라이브러리를 제공하거나, API를 대상으로 하는 앱 게시를 위해 Google Play를 개방하지 않았습니다. 레벨 31(Android 12)이므로 대다수의 개발자는 동적 테마를 지원하도록 앱을 조정하는 데 신경도 쓰지 않았습니다. 체계.
그런 뜻은 아니예요 아니요 하지만 개발자는 Android 12의 테마 시스템을 고민하고 있습니다. 개발자는 인기 자동화 앱 Tasker Android 12의 공식 API를 사용하여 앱에서 동적 테마 지원을 시연했습니다. 한편, 또 다른 개발자인 kdrag0n은 시스템을 전체적으로 재창조했습니다. 자신만의 색상 추출 및 팔레트 생성 알고리즘을 사용합니다. Kdrag0n은 테마 엔진의 소스 코드를 공유했으며 Jetpack Compose 및 Flutter 라이브러리를 작업 중이므로 이전 OS 버전용으로 구축된 타사 앱이 "monet"에 대한 그의 견해를 구현할 수 있습니다.
이제 XDA가 인정한 개발자 퀴니899 kdrag0n의 사용자 정의 "monet" 구현을 기반으로 하는 자신만의 라이브러리를 만들었습니다(예: 그것은 ~ 아니다 Google의 테마 엔진을 기반으로 함). 개발자는 이 MonetCompat 라이브러리를 앱에 통합하여 사용자 배경화면을 기반으로 앱의 UI 테마를 동적으로 지정하기 위한 지원을 추가할 수 있습니다. 이 라이브러리는 Android 5.0 이상(호환 모드에서 Palette API 사용)을 실행하는 기기와 일반 모드에서 Android 8.1 Oreo 이상을 실행하는 기기에서 작동합니다. 라이브러리는 플랫폼 API의 제한으로 인해 Android 8.1 이전 버전의 라이브 배경화면에서 색상을 추출할 수 없습니다.
개발자가 이 라이브러리를 사용하려는 이유에 대해 Quinny899는 프로젝트의 GitHub 페이지에서 직접 설명합니다. "또한 Google이 Android 12 릴리스에서 Monet에 대한 자체 하위 호환성 라이브러리를 제공할지 여부도 현재 알려지지 않았으므로 이 라이브러리는 결국 공식 라이브러리로 대체될 수 있습니다. 이 프로젝트에는 독점 Google 코드가 사용되지 않으므로 타사 앱에서 사용할 수 있도록 MIT 라이센스가 부여되었습니다."
MonetCompat을 사용하는 첫 번째 앱은 물론 Quinny899의 자체 DarQ 앱입니다. DarQ는 앱별로 Android의 강제 다크 모드 설정을 전환할 수 있는 앱입니다. 그것 원래 사용된 루트 액세스 시스템 속성을 설정하려고 했으나 업데이트됨 사용자 PC에서 실행되는 ADB 쉘 스크립트를 사용하여 루트 요구 사항을 삭제합니다. DarQ 2.0에서는 이제 앱이 통합되므로 사용자는 더 이상 PC에서 ADB 스크립트를 실행할 필요가 없습니다. 시즈쿠. Shizuku는 다른 앱이 셸 명령을 실행하거나 ADB 셸 사용자 권한으로 API에 액세스할 수 있게 해주는 앱 및 서비스입니다. 슈퍼유저 관리 앱이지만 ADB 셸 액세스용이라고 생각하세요. Android 11+에서는 내장된 무선 디버깅 기능을 통해 Shizuku 서비스를 시작할 수 있으므로 DarQ를 설정하는 데 더 이상 PC가 필요하지 않습니다. Shizuku로 이동하면서 DarQ는 이제 AccessibilityService 대신 ProcessObserver를 사용합니다. 개발자는 DarQ가 앱이 열릴 때를 감지하여 강제 다크 설정을 적용할 수 있다고 말합니다. 빠르게.
어떤 이유로든 DarQ 앱용 MonetCompat에서 생성된 색상이 마음에 들지 않으면 "DarQ 2.0"을 세 번 탭하여 앱에서 개발자 옵션을 활성화할 수 있습니다. 여기에서 "Monet Color Picker"를 선택하여 앱에서 사용할 색상을 변경할 수 있습니다.
DarQ 2.0 변경 로그
- DarQ 2.0은 Material You 요소와 Monet(벽지 기반) 색상을 사용하여 완전히 새로운 디자인을 갖추고 있습니다.
- ADB 스크립트는 이제 사라졌으며 대신 Shizuku는 루트가 아닌 장치에서 서비스를 처리합니다. Shizuku가 무엇인지 모른다면 루트가 아닌 장치를 위한 수퍼유저 앱이라고 생각하세요. 부팅할 때마다 컴퓨터(또는 Android 11 이상의 휴대폰에서도)에서 ADB를 통해 Shizuku를 시작하면 Shizuku를 사용하는 모든 앱에서 ADB 서비스를 사용할 수 있습니다.
- 접근성 서비스는 Shizuku/Root 서비스를 사용하여 ProcessObserver로 대체되었습니다. 이는 접근성보다 훨씬 빠르므로 이전에 지원하기에는 너무 빨리 열리는 앱이 이제 작동할 수 있습니다.
- 다양한 장치에서 더 잘 작동하도록 일출/일몰 시 자동 어두운 테마가 개선되었습니다.
- 강제 암흑 사용을 차단하여 그렇게 하지 못하도록 차단하려는 앱에 대한 Xposed 모듈이 개선되었습니다.
더 읽어보세요
DarQ XDA 포럼 스레드 ||| GitHub의 MonetCompat 라이브러리