הגרסה הבאה של גוגל לאנדרואיד, אנדרואיד 10 Q, תכלול מצב כהה בכל המערכת. כיצד יתמודדו אפליקציות באנדרואיד Q עם נושאים אפלים?
בשלנו פוסט ראשון תוך פירוט השינויים שמצאנו ממבנה ה-Android Q בפיתוח שהשגנו, דיברנו בקצרה על המצב האפל שמרגש את כולם. לסיכום, ניתן להפעיל את המצב האפל המובנה של גוגל באנדרואיד Q באמצעות אפשרות חדשה "מצב כהה" בהגדרות התצוגה. מצב כהה יכול להיות כבוי תמיד, תמיד מופעל או מופעל אוטומטית בלילה ומושבת בבוקר. מצב כהה נושאים את SystemUI (חלונית עוצמת הקול, תפריט הפעלה, חלונית הגדרות מהירות, התראות), אפליקציית הגדרות ומסגרת (צבע מבטא וכו').
למעלה: מצב כהה באנדרואיד Q ב-Google Pixel 3 XL. למטה: עיצוב קל ב-Android Pie ב-Google Pixel 2 XL.
עם זאת, גוגל לא רק רוצה שרכיבי מערכת יהיו בעלי נושא אפל. הם גם עובדים כדי לוודא שכל אפליקציות הצד הראשון שלהם תומכות במצב כהה כאשר המשתמש הופך את המתג. אפליקציות גוגל כמו הודעות, טלפון, אנשי קשר, חֲדָשׁוֹת, לשחק משחקים, יוטיוב, מפות, ועוד עודכנו עם מעברי מצב כהה הפונה למשתמש, בעוד אפליקציות אחרות כמו גוגל כרום הם עדיין מגהצים את כל הפיתולים לפני Google I/O 2019. גוגל גם החלה לעודד מפתחי אפליקציות של צד שלישי לעשות זאת
לאמץ נושאים אפלים באפליקציות שלהם מכיוון שהחברה מודה שהם מעולים לחיי סוללה (לפחות בסמארטפונים עם צגי OLED.)כדי לעזור למפתחים לעדכן את האפליקציות שלהם עם תמיכה במצב האפל של אנדרואיד Q, גוגל מספקת אפשרות מפתחים חדשה שנראית מאלצת את כל האפליקציות לעבור למצב כהה. אפשרות זו לא מיועדת למשתמשים שרוצים לעשות מצב כהה את כל הדברים, מכיוון שקשה למערכת לבחור את הצבעים הנכונים עבור כל האפליקציות שאין להן מצב כהה מקורי. למרבה המזל, גוגל כבר הניחה את הבסיס לאפליקציות לתמוך במצבים אפלים, וכבר יש הרבה אפליקציות כאלה נראה בסדר עם אפשרות ביטול מצב אפל של Android Q מופעלת גם אם לאפליקציה אין מצב כהה הפונה למשתמש לְמַתֵג. הנה אוסף של צילומי מסך מ-24 אפליקציות שונות המציגות איך הם נראים כאשר מצב אפל נכפה עליהם באמצעות החלפת מצב אפלה של Android Q. לא כל אפליקציה תיראה טוב, כפי שאראה לך למטה.
הטמעת מצב כהה באנדרואיד Q
ב-API רמה 8 (Android 2.2 Froyo), גוגל הציגה -מוקדמות לילה עבור משאבים. מפתחי אפליקציות יכולים לעבור בין מצב יום ולילה באמצעות setNightMode in UiModeManager. עם זאת, setNightMode דורש שהמכשיר יהיה במצב מכונית או במצב עגינה אם המכשיר נמצא ברמת API 22 ומטה. AppCompat v23.2 הביא את היישום של DayNight, המאפשר לאפליקציות כמו לקוחות Reddit לעבור אוטומטית בין ערכות הנושא של היום והלילה על סמך השעה ביום באמצעות AppCompatDeletegate.setDefaultNightMode(). רמת API 28 (Android 9 Pie) הפכה MODE_NIGHT_FOLLOW_SYSTEM (ערך ברירת המחדל של setDefaultNightMode()) לפי הגדרת המערכת המוגדרת על ידי המשתמש בהגדרות --> אפשרויות מפתח --> מצב לילה. גוגל הוא עובד על שיפורים ל-DayNight API ב-AppCompat, במיוחד בכל הנוגע ל"בעיות שנתקלות בתדירות גבוהה" כגון בעיות עם WebView. לבסוף, גוגל הפעילה זיהוי מצב לילה ו יש אפליקציות חסומות בלי ה MODIFY_DAY_NIGHT_MODE הרשאה חתימה/פריבילגית במסגרת של Android Q. השינוי האחרון פירושו שאפליקציות לא יכולות לשנות יותר את מצב הלילה בכל המערכת, וזה מה שאפשר לבאג של Messages לאחרונה לבלבל משתמשים ב-Android Pie.
עדכון: א עדכון אל ה AndroidX ספריית התמיכה תקל על מפתחים להפעיל באופן אוטומטי מצבים כהים באפליקציות שלהם כאשר המכשיר נכנס למצב חיסכון בסוללה.
כפיית מצב כהה באנדרואיד Q
ליישומים כמו Snapchat, Slack, AOSP Email, AOSP Messaging, AOSP Dialer ועוד רבים יש מוקדי משאבי לילה, גם אם הם לא מספקים למשתמש דרך להשתמש באפליקציה עם מצב הלילה. אפליקציות אחרות שאין להן קוד קשיח של משאבי לילה, כמו פייסבוק ואינסטגרם, עשויות להיראות טוב או לא כשהנושא האפל של Android Q מופעל. אינסטגרם נראית בסדר, בעוד שפייסבוק צריכה הרבה עבודה. מהבדיקה שלי, אפשרות המפתח לעקוף מצב לילה שונה מאוד מהיפוך צבע בהגדרות הנגישות - אולי גוגל מתכוונת שתכונה זו תעזור למפתחים ליצור מצבים אפלים עבור האפליקציות שלהם בזמן שהתצוגה המקדימה של Android Q Developer מתמשך. עם זאת, לא נדע בדיוק כיצד תכונה זו פועלת עד שקוד המקור של Android Q ישוחרר או שגוגל תפרסם תיעוד עבורו.
ביטול מצב כהה ב-Android Q שבור ביותר באפליקציות המשתמשות ב-WebViews.
בתוך ה "עלות של צבע פיקסלההרצאה שהוצגה על ידי כריס באנס ואלן ויברט מגוגל, הצמד מעודד מפתחים ליישם ערכות נושא אפלות על ידי:
- שימוש ב-DayNight API ב-AppCompat. ווידג'טים של מניות מגיבים אוטומטית לשינויים במצב לילה, או שאתה יכול להוסיף מתג גם באפליקציה שלך.
- החלת ערכות נושא שכבת-על באופן דינמי בזמן ריצה על-ידי קריאה ל-getTheme().applyStyle(). מידע נוסף ניתן למצוא בהרצאה מוקדמת זו כאן.
- בניית האפליקציה שלך כך שתסתמך על שימוש בתכונות נושא כמו colorForeground, colorControlNormal, colorAccent וכו'.
- הוספת מוקדמות לילה למשאבים שלך. -יש להשתמש במוקדי לילה עבור משאבים שקשה לחלץ צבעי נושא.
- הפעלת מצב הצבעים ההפוכים (הגדרות --> צבעים --> היפוך צבע) כדי לקבל מושג מהיר כיצד האפליקציה שלך תיראה במצב כהה. אם אתה רוצה לצלם צילום מסך של האפליקציה שלך עם צבעים הפוכים, עליך להיות מודע לכך שה היפוך צבע לא יופיע בצילום המסך.
עם השחרור, המצב האפל של אנדרואיד Q יתרחב לאפליקציות Google של צד ראשון, אך אנו מקווים שאפליקציות צד שלישי יאמצו במהירות ערכות נושא כהות לאפליקציות שלהן. יתר על כן, אנו מקווים לראות אפליקציות נוספות משתנות אוטומטית לנושאי הלילה שלהן כאשר המשתמש יאפשר את ההגדרה כלל המערכת. כרגע, האפליקציה היחידה שראיתי שמשנה אוטומטית ערכות נושא כאשר מצב האפל של Android Q מופעל בכל המערכת היא אנשי קשר של Google. נראה איך הדברים יתפתחו בעוד חודשיים כאשר אנדרואיד Q ישוחרר, אבל לכל המפתחים שקוראים את זה: אמצו את הצד האפל!
עם קלט מתורם LineageOS ג'ואי ריזולי.