Хочете інтегрувати функцію динамічної тематики Material You у свій додаток? Ця бібліотека дозволяє додавати її навіть на пристроях, старіших за Android 12.
Матеріал Ви це остання версія мови дизайну Google. У Material You Google наголошує на персоналізації, тому в Android 12, є нова система динамічного оформлення тем, яка перефарбовує ваш UX за допомогою кольорів витягнуті з ваших шпалер. Ця динамічна тематична система під кодовою назвою "Моне", запущено в Android 12 Beta 2, але Google ще має задокументувати API/реалізацію, надати бібліотеки підтримки або відкрити Google Play для публікації програм, націлених на API рівень 31 (Android 12), тож переважна більшість розробників навіть не потрудилися адаптувати свої програми для підтримки динамічної тематики система.
Це не означає, що немає однак розробник грає з системою тем Android 12. Розробник в популярний додаток для автоматизації Tasker продемонстрував підтримку динамічних тем у своїй програмі за допомогою офіційних API Android 12. З іншого боку, інший розробник, kdrag0n,
повністю відтворив систему використовуючи власний алгоритм виділення кольорів і створення палітри. Kdrag0n поділився вихідним кодом для свого движка тем і працює над бібліотекою Jetpack Compose і Flutter, щоб програми сторонніх розробників, створені для старих версій ОС, могли реалізувати його погляд на «monet».Тепер визнаний розробник XDA Quinny899 створив власну бібліотеку, яка базується на користувальницькій реалізації «monet» kdrag0n (тобто. його ні на основі механізму створення тем Google). Розробники можуть інтегрувати цю бібліотеку MonetCompat у свої програми, щоб додати підтримку динамічного оформлення інтерфейсу користувача програми на основі шпалер користувача. Ця бібліотека працює на пристроях під управлінням Android 5.0 і вище (з використанням API Palette в режимі сумісності) і Android 8.1 Oreo і вище в звичайному режимі. Бібліотека не може отримувати кольори з живих шпалер у версіях до Android 8.1 через обмеження API платформи.
Щодо того, чому розробник може захотіти використовувати цю бібліотеку, сам Quinny899 пояснює на сторінці проекту GitHub. «Також наразі невідомо, чи надасть Google свою власну бібліотеку зворотної сумісності для Monet з випуском Android 12, тому ця бібліотека може бути замінена офіційною. У цьому проекті не використовується власний код Google, тому він має ліцензію MIT для використання в програмах сторонніх розробників».
Першою програмою, яка використовує MonetCompat, є, звичайно, власна програма DarQ від Quinny899. DarQ — це програма, яка дозволяє перемикати налаштування примусового темного режиму Android для кожної окремої програми. Це спочатку використовувався root-доступ встановити властивість системи, але було оновлено для використання сценарію оболонки ADB, запущеного на ПК користувача, відкидаючи вимогу root. У DarQ 2.0 користувачам більше не потрібно запускати сценарій ADB зі свого ПК, оскільки додаток тепер інтегровано Шизуку. Shizuku — це програма та служба, яка дозволяє іншим програмам запускати команди оболонки або отримувати доступ до API із привілеями користувача оболонки ADB — сприймайте її як програму керування суперкористувачем, але для доступу до оболонки ADB. На Android 11+ службу Shizuku можна запустити за допомогою вбудованої функції бездротового налагодження, тому вам більше не потрібен ПК для налаштування DarQ. З переходом до Shizuku DarQ також тепер використовує ProcessObserver, а не AccessibilityService, який Розробник каже, що дозволяє DarQ набагато більше виявляти, коли програма відкрита (і таким чином застосовувати налаштування примусового затемнення). швидко.
Якщо з будь-якої причини вам не подобається колір, створений MonetCompat для програми DarQ, ви можете тричі натиснути «DarQ 2.0», щоб увімкнути параметри розробника в програмі. Тут ви можете вибрати «Вибір кольорів Моне», щоб змінити колір, який має використовувати програма.
Журнал змін DarQ 2.0
- DarQ 2.0 має абсолютно новий дизайн із елементами Material You та кольорами Monet (на основі шпалер).
- Сценарій ADB тепер зник, і замість нього Shizuku обробляє службу на некореневих пристроях. Якщо ви не знаєте, що таке Shizuku, подумайте про це як про додаток суперкористувача для пристроїв без root-прав. Запустіть Shizuku через ADB на комп’ютері (або навіть на телефоні на Android 11 і вище) один раз за завантаження, і будь-яка програма, яка використовує Shizuku, зможе використовувати служби ADB.
- Службу доступності замінено на ProcessObserver із використанням служби Shizuku/Root. Це набагато швидше, ніж доступність, тому програми, які раніше відкривалися надто швидко, щоб підтримувати їх, тепер можуть працювати.
- Покращення автоматичної темної теми на сході/заході сонця для кращої роботи на різних пристроях.
- Покращення модуля Xposed для програм, які намагаються заблокувати використання примусової темряви, запобігаючи їм це робити.
читати далі
Тема форуму DarQ XDA ||| Бібліотека MonetCompat на GitHub