ספריית צד שלישי זו מביאה את עיצוב ה-Material You של Android 12 לכל אפליקציה

רוצה לשלב את תכונת הנושא הדינמי של Material You באפליקציה שלך? ספרייה זו מאפשרת לך להוסיף אותה אפילו במכשירים ישנים יותר מ-Android 12.

חומר אתה הוא הגרסה האחרונה של שפת העיצוב של גוגל. עם Material You, גוגל שמה דגש על התאמה אישית, וזו הסיבה לכך אנדרואיד 12, יש מערכת נושאים דינמיים חדשה שצובעת מחדש את ה-UX שלך באמצעות צבעים חולץ מהטפט שלך. מערכת הנושאים הדינמיים הזו, בשם הקוד "מונט", עלה לאוויר ב-Android 12 Beta 2, אך גוגל עדיין לא תיעד את ממשקי ה-API/הטמעה, סיפקה ספריות תמיכה או פתחה את Google Play לפרסום אפליקציות המיקוד API רמה 31 (אנדרואיד 12), כך שהרוב המכריע של המפתחים אפילו לא טרחו להתאים את האפליקציות שלהם לתמיכה בעיצוב הדינמי מערכת.

זה לא אומר את זה לא עם זאת, המפתח משתעשע עם מערכת הנושאים של אנדרואיד 12. היזם של ה אפליקציית אוטומציה פופולרית Tasker הוכיח תמיכה בעיצוב דינמי באפליקציה שלו באמצעות ממשקי ה-API הרשמיים של אנדרואיד 12. מצד שני, מפתח אחר, kdrag0n, יצר מחדש את המערכת בשלמותה תוך שימוש באלגוריתם משלו לחילוץ צבעים ויצירת פלטות. Kdrag0n שיתף את קוד המקור עבור מנוע הנושא שלו ועובד על ספריית Jetpack Compose ו-Flutter כך שאפליקציות צד שלישי שנבנו עבור גרסאות מערכת הפעלה ישנות יותר יוכלו ליישם את הטייק שלו על "monet".

כעת, מפתח מוכר XDA קוויני899 יצר ספריה משלו המבוססת על יישום "monet" המותאם אישית של kdrag0n (כלומר. שֶׁלָה לֹא מבוסס על מנוע הנושא של גוגל). מפתחים יכולים לשלב את ספריית MonetCompat זו באפליקציות שלהם כדי להוסיף תמיכה בעיצוב דינמי של ממשק המשתמש של האפליקציה שלהם על סמך הטפט של המשתמש. ספרייה זו פועלת על מכשירים עם אנדרואיד 5.0 ומעלה (באמצעות ה-Palette API במצב תאימות) ו-Android 8.1 Oreo ומעלה במצב רגיל. הספרייה לא יכולה לחלץ צבעים מטפטים חיים בגרסאות קודמות לאנדרואיד 8.1 עקב מגבלות בממשקי ה-API של הפלטפורמה.

באשר למה שמפתח עשוי לרצות להשתמש בספרייה זו, Quinny899 עצמו מסביר בעמוד GitHub של הפרויקט. "זה גם לא ידוע כרגע אם גוגל תספק ספריית תאימות לאחור משלהם עבור Monet עם שחרורו של אנדרואיד 12, כך שספרייה זו עשויה להיות מוחלפת בספרייה רשמית בסופו של דבר. לא נעשה שימוש בקוד Google קנייני בפרויקט זה, ולכן הוא מורשה עם רישיון MIT לשימוש באפליקציות של צד שלישי."

האפליקציה הראשונה שמשתמשת ב-MonetCompat היא, כמובן, אפליקציית DarQ משל Quinny899. DarQ היא אפליקציה המאפשרת לך לשנות את הגדרת מצב האפל המאולץ של אנדרואיד על בסיס אפליקציה. זה השתמשו במקור גישת שורש להגדיר מאפיין מערכת אבל היה מְעוּדכָּן להשתמש בסקריפט מעטפת ADB המופעל על המחשב האישי של המשתמש, תוך ביטול דרישת השורש. ב-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, תחשוב על זה כמו אפליקציית Superuser עבור מכשירים שאינם שורש. הפעל את Shizuku דרך ADB במחשב (או אפילו בטלפון שלך ב-Android 11 ומעלה) פעם אחת בכל אתחול, וכל אפליקציה שמשתמשת ב- Shizuku יכולה להשתמש בשירותי ADB.
  • שירות הנגישות הוחלף ב-ProcessObserver, באמצעות שירות Shizuku/Root. זה הרבה יותר מהיר מנגישות, כך שאפליקציות שבעבר נפתחו מהר מדי מכדי שניתן יהיה לתמוך בהן עשויות לפעול כעת.
  • שיפורים לנושא הכהה האוטומטי בזריחה/שקיעה כדי לעבוד טוב יותר במכשירים שונים.
  • שיפורים למודול Xposed עבור אפליקציות המנסות לחסום את השימוש בכוח הכהה, ומונעות מהן לעשות זאת.

קרא עוד

שרשור פורום DarQ XDA ||| ספריית MonetCompat ב-GitHub