החל מ-Android 12, העיצוב Material You מתמקד ביטוי וגמישות במערכת ההפעלה של Android, במטרה לעזור למשתמשים לי��ור והם הבעלים של חוויה אחת ומלוכדת שמתאימה לצרכים שלהם. כ-Android אתם מוזמנים לשלב את עיצוב Material You ב-Android מכשירים באזורים הבאים:
- צבע דינמי
- תנועה
- ווידג'טים
צבע דינמי
צבע דינמי הוא החלק המרכזי בעיצוב 'חומר' שעיצבנו, והוא חלק חשוב האסטרטגיה רבת-השנים של Android מאפשרת התאמה אישית פשוטה ומעמיקה יותר למשתמשים באופן שונה מזה של מכשירים אחרים. החומר שאתם מציעים:
משתמשים ומפתחים נהנים מסיפור עקבי ועשיר של התאמה אישית, שזמין כל מכשיר Android.
הזדמנויות ליצרני ציוד מקורי של Android להמשיך ליצור ממשק משתמש חדשני של המערכת באופן שמתאים לצבע של החומרה והמותג שלהם, וכן הטופס הזה.
כדי ליהנות מהצבעים הדינמיים, צריך להשתמש ב-Android 12 סיפור חילוץ צבעים של Material You כחלק מרכזי בהצעת התוכנה משתמשים. במכשיר, משתמשים בלוגיקה של חילוץ צבעים ב-AOSP, במיוחד את הלוגיקה שלוקחת צבע אחד של טפט או מקור עיצוב ומפיקה אותו באמצעות 65 ממשקי API צבעוניים. הדרישות לצבעים דינמיים מפורטות במאמר שימוש דינמי. צבע.
תהליך הצבעים הדינמי המלא כולל ארבעה שלבים, כפי שמתואר בהמשך:
איור 1. זרימת צבעים דינמית של Material You
המשתמש משנה את הטפט או העיצוב דרך בורר ה-OEM.
המשתמש בוחר באחת מהאפשרויות הבאות:
העיצוב של המכשיר. כשבוחרים באפשרות הזו, מערכת Android בוחרת באופן אוטומטי צבע מקור שעומד בדרישות.
טפט חדש ועיצוב חדש. כשבוחרים באפשרות הזו, לוגיקת AOSP בוחרת באופן אוטומטי צבע מקור אחד מהטפט שנבחר.
AOSP מרחיב את צבע המקור היחיד ל-5 לוחות טונליים עם 13 גוונים כל אחת מהווריאציות, בהתאם ללוגיקת AOSP, שמאכלסת את 65 הצבעים .
ממשק המשתמש של האפליקציה משתמש ב-65 מאפייני הצבעים באופן עקבי בסביבה העסקית של האפליקציות ל-Android. מומלץ להשתמש באותו לוח צבעים לממשק המשתמש של המערכת במכשיר ולאפליקציות ספציפיות ל-OEM.
תיקונים ל-Android 12
כדי לקבל את הלוגיקה מקצה לקצה לחילוץ צבעי טפט ולהפעיל את שימלא את ממשקי ה-API בפורמט 65 צבעים באופן שתואם לסביבה העסקית, צריך לכלול את התיקונים הבאים ב-Android 12 הטמעה:
חובה
מומלץ מאוד
- תיקון מרוץ תהליכים כשמגדירים מערכות מיזוג של צבעי אתחול.
- איך לאפשר לשכבות-על לקבל התראות על שינויים בעיצוב
- תיקון מרוץ תהליכים בהגדרת מערכת צבעי אתחול (סבב 2)
- העברת Featureדגs לחבילת דגלים
- הטמעה נכונה של תמיכה בעיצוב מרובה משתמשים
- תיקון האפשרות של צבע הטפט שצוין חסרה לאחר הפעלה מחדש
- תיקון שגיאה בחישוב הגוון השלישי
- איסור על אפליקציות ברקע לשנות את העיצוב
ציון צבעים מותאמים אישית ב-ThemePicker
אם אתם משתמשים באפליקציית AOSP ThemePicker, BackgroundPicker האפליקציה תציג את קטע הצבעים אם שני התנאים הבאים מתקיימים:
flag_monet
ב-frameworks/base/packages/SystemUI/res/values/flags.xml
הואtrue
.- APK stub של מערכת עם שם החבילה מוגדר
themes_stub_package
ב קובץpackages/apps/ThemePicker/res/values/override.xml
.
פורמט APK של Stub
אפשר למצוא גרסה לדוגמה של ה-APK הזה ב-packages/apps/ThemePicker/themes
.
ה-APK הזה צריך להכיל משאבים בלבד, ולציין את הצבעים הבסיסיים הזמינים. והשמות שלהם.
ה-stub צריך להכיל קובץ XML תחת res/xml
בפורמט הבא:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="color_bundles">
<item>color1</item>
<item>color2</item>
<item>color3</item>
<item>color4</item>
</array>
<string name="bundle_name_color1">Blue</string>
<string name="bundle_name_color2">Red</string>
<string name="bundle_name_color3">Yellow</string>
<string name="bundle_name_color4">Green</string>
</resources>
בקובץ הזה, לכל item
בתוך color_bundles
יש ערך ייחודי
כל עוד המחרוזות הבאות הן bundle_name_item
.
לכל צבע צריכה להיות מחרוזת bundle_name_item
,
ולציין שם תיאורי לכל צבע. אפשר לתרגם את השפות האלה
את המחרוזות המתורגמות המתאימות
res/values-language code
ספריות.
ערכי הצבעים בפועל יכולים להיות באותו XML או במשאבים נפרדים. קובץ XML בפורמט הבא:
<resources>
<color name="color_primary_color1">#0000FF</color>
<color name="color_secondary_color1">#0000FF</color>
<color name="color_primary_color2">#ff0000</color>
<color name="color_secondary_color2">#ff0000</color>
<color name="color_primary_color3">#ffff00</color>
<color name="color_secondary_color3">#ffff00</color>
<color name="color_primary_color4">#00ff00</color>
<color name="color_secondary_color4">#00ff00</color>
</resources>
לכל פריט במערך חבילות הצבעים, יש
צריך להיות color_primary_item
ו-
ערך אחד (color_secondary_item
) (ו
שני הצבעים צריכים להיות באותו צבע). הערכים של color
רשומות הן קודי הצבע בפועל של כל צבע שיוצגו בצבע הבסיסי
.
שלב 1: יוצרים חוויה של הוספת נושא למשתמשים
בוחר העיצובים הוא המקום שבו המשתמשים יוצרים אינטראקציה עם ההתאמה האישית החדשה של Material You יכולות ולאפשרות לבחור בין אפשרויות צבע או הגדרות קבועות מראש. כמו שצריך את המאפיינים הדמוגרפיים של המוצרים ושל המשתמשים, תוכלו להציע למשתמשים התאמה אישית עשירה יותר וחוויית השימוש בצבעים באמצעות בוחר עיצוב או טפט בוחר.
- כשמשתמש��ם בבוחר טפטים, חילוץ צבע הטפט פועל כברירת מחדל. אבל אפשר לבצע התאמות אישיות בבורר כדי לספק אפשרויות למשתמש.
שלב 2: מחלצים את צבע הטפט לצבע המקור
כדי להפעיל חילוץ צבע של הטפט, צריך לבחור באופן שגוי ב-Android
12 תיקונים שרשומים למעלה (הפונקציונליות הזו תהיה
מופעלת כברירת מחדל בגרסת AOSP עתידית).
לוגיקת ה-AOSP שמפעילה חילוץ טפט מתחילה ב-
frameworks/base/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
,
ב-ThemeOverlayController#mOnColorsChangedListener
, דרך
WallpaperManager#onWallpaperColorsChanged
. מומלץ להשתמש במצב לא השינויים
לוגיקת AOSP כדי להבטיח חוויית פיתוח עקבית.
כברירת מחדל, הלוגיקה בוחרת את הצבע של התדירות הגבוהה ביותר שמתאים לשימוש.
כדי לנצל צבעי מקור אחרים שהאלגוריתם מחזיר
להציג את הצבעים האלה למשתמשים בבוחר העיצובים, השתמשו
ColorScheme#getSeedColors(wallpaperColors: WallpaperColors)
כדי להתאים לשימוש, צבע מקור (בין אם נשלף מטפט או
הגדרה קבועה מראש שהמשתמש בחר) חייב לכלול ערך מינימום
CAM16
chroma value של 5; כדי להבטיח שצבע המקור לא יושפע
לגוונים כהים כאשר הוא מומר מצבע יחיד ל-65 צבעים טונליים
עדיין מייצג את בחירת המשתמש. כדי לקרוא ולשנות צבעים ב-CAM16:
משתמשים ב-Cam#fromInt
או ב-Cam#getInt
.
שימוש בלוח צבעים לא דינמי במכשירים שלא תומכים בחילוץ צבע של הטפט, אפשר עדיין אפליקציות Google ואפליקציות של צד שלישי שתומכות במראה דינמי של צבעים. מצוין באופן הבא:
- כדי להש��מש בלוח הצבעים שמוגדר כברירת מחדל, צריך להשבית את
flag_monet
במצב מופעלframeworks/base/packages/SystemUI/res/values/flags.xml
.- מוודאים שהמשתמשים עדיין יכולים להתאים אישית את מערכת ההפעלה שלהם באמצעות בוחר עיצובים שהוגדר מראש.
שלב 3: מרחיבים את צבע המקור לממשקי API צבעוניים
מערכת Android משתמשת בצבע המקור היחיד שנגזר מהשלב הקודם 5 לוחות צבעים ייחודיים (טעם 1-3, ניטרלי 1-2), כל לוח, כולל 13 וכל צבע כולל ערכי הארה שונים (0 עד 1, 000), ב-65 צבעים בסך הכול. הלוגיקה שקיימת ב-Android 12 תיקונים מטמיעים את הרחבת הצבע הזו בצורה נכונה. ה בהמשך נתאר את ההטמעה.
כדי לשמור על עקביות למפתחים, יש 5 לוחות טונליים (accent1, הדגשה2, הדגשה3), ניטרלי1, ניטרלי2) ו-13 הצבעים התואמים שלהם חייבים להתבסס על בצבע מקור אחד עם השינויים המתאימים ב- CAM16 כרמה וגוון כפי שמפורט בהמשך:
-
- Chroma: עליך להשתמש בערך '16'
- גוון: זהה למקור
-
- Chroma: שימוש ב-"32"
- גוון: סיבוב ב-60 מעלות חיובי
-
- Chroma: שימוש ב-"4"
- גוון: זהה למקור
-
- Chroma: שימוש ב-"8"
- גוון: זהה למקור
CTS כולל בדיקות לאימות בהירות וקריאות של גוון API. כדי להפעיל את המודעה, צריך להשתמש
atest SystemPalette
שלב 4: שימוש בצבעים דינמיים באפליקציות ובממשק המשתמש של המערכת
לאחר הגדרת צבעים דינמיים במכשיר, האפליקציות פועלות בהתאם להנחיות בנוגע ל-Material כדי להשתמש בצבעים. ההנחיות לגבי תוכן צריכות להישלח בתאריך material.io עד 26 באוקטובר 2021 עבור של צד שלישי שכדאי לאמץ. עבור ממשק משתמש של המערכת ואפליקציות צד ראשון, אנחנו ממליצים מאוד מומלץ לשלב צבעים דינמיים לכל אורך חוויית המשתמש באופן שמתאים לחומרה ולמותג שלכם ועוזר לכם להבדיל מכשירים.
לקבלת הנחיות כלליות לצבעים דינמיים, תוכלו להיעזר בדפים הבאים:
שימוש בצבעי הדגשה לרכיבים בחזית באפליקציות ובממשק המשתמש של המערכת:
@android:color/system_accent1_0 … 1000 // most-used foreground color group @android:color/system_accent2_0 … 1000 // alternate accent, used for surfaces @android:color/system_accent3_0 … 1000 // playful, analogous color
להשתמש בצבעים ניטרליים לרכיבי רקע באפליקציות ובממשק המשתמש של המערכת:
@android:color/system_neutral1_0 … 1000 // most-used background color group @android:color/system_neutral2_0 … 1000 // used for higher-elevation surfaces
לקבלת מידע נוסף על אופן המיפוי של צבעים באמצעות Material You ועל אופן השימוש בממשקי API SysUI, ראה משאבים נוספים.
שלב 5: הוספה של אפשרויות צבע דינמיות בהטמעה של AOSP BackgroundPicker
build ל-Android מגרסה 13 ואילך
החל מ-Android 13, android.theme.customization.accent_color
הוצא משימוש. מאפיין חדש android.theme.customization.theme_style
הוא
נוסף כדי לתמוך בווריאציות צבע שונות. כרגע אנחנו
יש ארבע וריאציות ב-codebase באופן הבא:
TONAL_SPOT = Default Material You theme since Android S.
VIBRANT = Theme where accent 2 and 3 are analogous to accent 1.
EXPRESSIVE = Highly chromatic theme.
SPRITZ = Desaturated theme, almost grayscale.
הם נשלחים אל Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
, בשם
מוצגת ב-JSON למטה:
{
"android.theme.customization.system_palette":"B1611C",
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Build ל-Android מגרסה 12 ומטה
כשמשתמשים בבוחר עיצוב מותאם אישית, המכשיר חייב לשלוח צבע מקור חוקי אל
Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
על ידי
לספק קובץ JSON בפורמט הבא (כאשר 746BC1
הוא דוגמה
צבע מקור חוקי):
{
"android.theme.customization.system_palette":"746BC1",
"android.theme.customization.accent_color":"746BC1"
}
הפעולה הזו מדלגת על חילוץ צבע הטפט (שלב 2) ומרחיבה ישירות את סיפקת את צבע המקור ב-65 מאפייני צבע (שלב 3).
שלב 6: הגשת פנייה
מלבד שילוב המערכת, עליכם להגיש פנייה ולתת לנו
שם המותג שלך (Build.MANUFACTURER
) ידוע. מכיוון שרוב האפליקציות של צד שלישי
באמצעות
רכיבים מהותיים ל-Android
כדי להציג צבעים דינמיים,
משתמשים בקוד
רשימת היתרים
כדי לבדוק באילו מכשירים
שילבה את התכונה לוחות צבעים דינמיים של צבעים.
תנועה
תנועה גמישה גורמת למכשירים להיות מודרניים ומפנקים. לבנות ולתחזק אמון ושמחה בקרב מפתחים, גלילת יתר וגלים הם שני חלקים עיקריים בנוזל תנועה שצריכה להיראות ולהרגיש עקביים.
שימוש בגלילת יתר במערכת ההפעלה
Android 12 כולל גרסה דינמית ורספונסיבית יותר תנועת גלילה מעבר לקצה בצורת קטע של תצוגה, שמוצגת כשהמשתמש מנסה גוללים אל מעבר לקצה הרשימה. כך אפשר לראות דוגמה:
איור 2. אפקט גלילת יתר ב-Android 12, כמו שמוצג בהגדרות
כדי לשמור על עקביות למפתחים, עליך לוודא שההשפעה הכוללת של גלילת יתר על דומה למכשירים הבאים:
במכשירים שמחזירים את הערך True עבור
ActivityManager.isHighEndGfx()
, אפקט גלילה מעבר לקצה הוא מתיחה לא ליניארית של המסך (כפי שמוצג למעלה).במכשירים בעלי ביצועים נמוכים, אפקט המתיחה מפשט ליניארי מתיחה (כדי להפחית את העומס על המערכת).
שימוש בגלילת יתר באפליקציות של צד ראשון
במהלך שימוש בתצוגות בהתאמה אישית, ייתכן שתצטרכו לבצע שינויים מסוימים בחלק מהאפליקציות וממשק המשתמש של המערכת להשתמש באפקט המתיחה.
כדי לתמוך בגלילה מעבר למתיחה, יש לשדרג לספריות העדכניות ביותר:
androidx.recyclerview:recyclerview:1.3.0-alpha01
למשךRecyclerView
androidx.core:core:1.7.0-alpha01
למשךNestedScrollView
ו-EdgeEffectCompat
androidx.viewpager:viewpager:1.1-alpha01
למשךViewPager
בפריסות מותאמות אישית שמשתמשות ב-
EdgeEffect
, כדאי לבצע את השינויים הבאים בחוויית המשתמש:במקרה של גלילת יתר במתיחה, אסור למשתמשים לבצע אינטראקציה עם התוכן בזמן מתיחה. המשתמשים צריכים לשנות רק את הקטע עצמו, ולא יוכל, למשל, ללחוץ על לחצן בתוכן.
כשמשתמשים נוגעים בתוכן בזמן שהאנימציה
EdgeEffect
הם צריכים לקלוט את האנימציה ולקבל הרשאה להשפיע עליהם למתוח. ערך המשיכה הנוכחי זמין מ-EdgeEffectCompat.getDistance()
כדי לשנות את ערך המשיכה ולהחזיר את הסכום שנצרך, משתמשים בפונקציה
onPullDistance()
כך מפתחים יכולים לעבור בקלות מ מתיחה לגלילה בזמן שהאצבע מותחת את התוכן מעבר נקודת ההתחלה.כשעובדים עם גלילה בתוך גלילה, אם התוכן נמתח, מתיחה צריכה לצרוך את תנועת המגע לפני התוכן הפנימי, או כשהאצבע משנה את הכיוון במקום, היא עשויה לגלול לאורך הקטע.
לפרטים על גלילה מעבר לקצה, אפשר לקרוא את המאמר אנימציה של גלילה תנועה.
שימוש ב'גלים (משוב באמצעות מגע)' במערכת ההפעלה
ב-Android 12 יש גלים רכים ועדינים יותר למגע כדי לספק משוב למשתמשים בהקשה.
איור 3. אפקט אדווה ב-Android 12 עם אנימציה של מילוי רך
כדי לאפשר חיזוי של המפתחים ולספק חוויית משתמש מעולה, עליך לוודא אפקט הגלים במכשירים שלך דומה לדוגמה שלמעלה. בזמן ש אין צורך לבצע שלבי שילוב ספציפיים כדי לתמוך באפקטים של גלים, צריך לבדוק את ההשפעה על המכשירים כדי לראות אם יש אירועים לא רצויים רגרסיות שנוספו להטמעה שלכם.
ווידג'טים
ווידג'טים הם רכיבי מפתח במכשירי Android. 12 Android כולל יכולות חדשות של ממשקי API ויכולות API, שכל יצרני ה-OEM צריכים לתמוך בהן.
במערכת ההפעלה, תהיה תמיכה בממשקי API למפתחים שקשורים לפריסות, לשינוי גודל ולשימוש בווידג'טים פרמטרים של התוכנה (לדוגמה, גודל פינה מעוגלת). ההטמעה שלך צריכה לתמוך בווידג'טים בצורה נכונה באספקת פרמטרים דרך ממשקי API שמבטיחה שהמשתמשים יוכלו להגדיל את הווידג'טים ולהגדיר אותם.
באפליקציות שלכם, תוכלו לנצל את יכולות ה-API החדש��ת כדי לעדכן או ליצור פיצ'רים חדשים בווידג'טים של צד ראשון כשזה אפשרי. לכל הווידג'טים של אפליקציות מהדומיין הנוכחי על תחום הפעילות, עברו על רשימת המשימות למפתחים שבהמשך.
- העדיפות מבוססת על המלצות מהפלטפורמה.
- לקבלת פרטים על המלצה, לוחצים על הקישור שבעמודה 'שינוי'.
אזור שינוי עדיפות הטמעה שיפור החוויה בבית הוספה תצוגות מקדימות ניתנות להתאמה P1 הוספה תיאור של ווידג'ט P1 לעשות קל יותר להתאים אישית ווידג'טים P2 (אופציונלי) הפעלה מעברים חלקים יותר P0 הימנעות שידור טרמפולינות P0 יישום ההנחיות לשימוש בווידג'ט שיפור פריסות וגדלים של ווידג'טים P2 אישור צבעים דינמיים P0 יישום פינות מעוגלות P0 הוספה לחצנים מורכבים חדשים P2 קוד ווידג'ט קיים הוא פשוט יותר מפשטים את הביטוי אוספים של תצוגה מרחוק P2 מפשטים את הביטוי זמן ריצה של RemoteView P2
מקורות מידע נוספים
שימוש בצבעים של SysUI
(accent1 = A1, breakdown2 = A2, סטיג3 = A3, ניטרלי1 = N1, ניטרלי2 = N2)
איור 4. שימוש בצבע דינמי בממשק המשתמש של המערכת
עדכונים של מאפייני הצבע בספריית Material
בגרסה החדשה, מאפייני העיצוב של חומר הלימוד יעדכנו את מאפייני העיצוב על ידי יצירת תפקידי צבע שמשמשים לאספקת צבע בתצוגות ספציפיות.
תפקיד הצבע | מאפיין העיצוב של Android | עיצוב בהיר צבע דינמי |
עיצוב כהה צבע דינמי |
---|---|---|---|
ראשי | צבע ראשי | system_accent1_600 | system_accent1_200 |
בשירות 'ראשי' | צבע ראשי | system_accent1_0 | system_accent1_800 |
Secondary | צבע משני | system_accent2_600 | system_accent2_200 |
במסלול משני | צבע משני | system_accent2_0 | system_accent2_800 |
שגיאה | שגיאת צבע | לא רלוונטי (red_600) | לא רלוונטי (red_200) |
בשגיאה | שגיאת colorOnError | לא רלוונטי (לבן) | לא רלוונטי (red_900) |
רקע | android:colorBackground | system_ניטרלי1_10 | system_ניטרלי1_900 |
ברקע | צבעעל רקע | system_ניטרלי1_900 | system_ניטרלי1_100 |
סוג המסך | colorSurface | system_ניטרלי1_10 | system_ניטרלי1_900 |
על המשטח | colorOnSurface | system_ניטרלי1_900 | system_ניטרלי1_100 |
חומר הלימוד יעדכן את מאפייני המצבים שלו עם הנקודות הבאות:
תפקיד הצבע | מאפיין העיצוב של Android | עיצוב בהיר צבע דינמי |
עיצוב כהה צבע דינמי |
---|---|---|---|
התוכן במדינה הראשית | colorPrimaryStateContent: | system_accent1_700 | system_accent1_200 |
שכבת מדינה ראשית | colorPrimaryStateLayer: | system_accent1_600 | system_accent1_300 |
תוכן של מצב משני | colorSecondaryStateContent | system_accent2_700 | system_accent2_200 |
שכבת מצב משנית | colorsecondaryStateLayer | system_accent2_600 | system_accent2_300 |
בתוכן של המדינה הראשית | colorOnPrimaryStateContent | system_accent1_0 | system_accent1_800 |
בשכבת המדינה הראשית | colorOnPrimaryStateLayer | system_accent1_900 | system_accent1_800 |
בתוכן של מצב משני | colorOnsecondaryStateContent | system_accent2_0 | system_accent2_800 |
בשכבת מדינה משנית | colorOnsecondaryStateLayer | system_accent2_900 | system_accent2_800 |
בתוכן של מצב הקונטיינר הראשי | colorOnPrimaryContainerStateContent | system_accent1_900 | system_accent1_900 |
בשכבת מצב של קונטיינר ראשי | colorOnPrimaryContainerStateLayer | system_accent1_900 | system_accent1_900 |
בתוכן של מצב קונטיינר משני | colorOnsecondaryContainerStateContent | system_accent2_900 | system_accent2_900 |
בשכבת מצב של קונטיינר משני | colorOnsecondaryContainerStateLayer | system_accent2_900 | system_accent2_900 |
בתוכן של מצב קונטיינר שלישי | colorOnTertiaryContainerStateContent | system_accent3_900 | system_accent3_900 |
בשכבת המצב של הקונטיינר השלישי | colorOnTertiaryContainerStateLayer | system_accent3_900 | system_accent3_900 |
תוכן על פני השטח | colorOnSurfaceStateContent | system_ניטרלי1_900 | system_ניטרלי1_100 |
שכבת על פני השטח | colorOnSurfaceStateLayer | system_ניטרלי1_900 | system_ניטרלי1_100 |
תוכן מצב של וריאנט על פני השטח | colorOnSurfaceVariantStateContent | system_ניטרלי2_700 | system_ניטרלי2_200 |
שכבת המצב של הווריאנט על פני השטח | colorOnSurfaceVariantStateLayer | system_ניטרלי2_700 | system_ניטרלי2_200 |
התוכן של מצב השגיאה | colorErrorStateContent | אדום 800 | אדום 200 |
שאלות נפוצות
חילוץ צבע
אחרי שמשתמש משנה טפט, האם חילוץ הצבע מתבצע באופן אוטומטי או שצריך להפעיל אותה ממקום כלשהו?
עם התיקונים של Android 12, חילוץ צבע הטפט מופעל כברירת מחדל.
הפקודה ThemeOverlayController.java
מפעילה את הלוגיקה באמצעות
ThemeOverlayController#mOnColorsChangedListener
והקבוצה
WallpaperManager#onWallpaperColorsChanged
לגבי טפטים מונפשים או טפטים לסרטונים, האם נוכל לדעת מתי כש��שתמשים באפשרות חילוץ צבע, המערכת משתמשת בצבע מהמסך? חלק מהמשתמשים ירצו צבעים מהפריים האחרון מאז שהוא מוצג בכל הזמן.
חילוץ הצבע מופעל כשהמשתמש מגדיר את הטפט או אחרי המסך
במחזור החשמל (בתגובה ל-WallpaperEngine#notifyColorsChanged
). האחרון
האירוע WallpaperColors
(מהטפט החי) מופעל אחרי המשתמש
מכבה את המסך ומדליק אותו מחדש.
הכלי לבחירת עיצוב/טפטים
איך אפשר לאפשר לכלי לבחירת עיצוב להציג כמה צבעי מקור כדי שמשתמשים יוכלו לבחור מאשר בצבע בתדירות הגבוהה ביותר? יש דרך לקבל את הצבעים האלה מלוגיקת החילוץ?
כן. בבורר העיצובים, אפשר
ColorScheme#getSeedColors(wallpaperColors: WallpaperColors)
בשמות של מכשירי Pixel יש תכונה של סמל נושא. האם היא כלולה שיתפת שלושה תיקונים? איך יצרני ציוד מקורי יכולים להטמיע את זה?
לא. סמלים מעוצבים הם בגרסת בטא והם לא זמינים ב-Android 12.
האם יש דרך להשתמש באפליקציית 'טפט Google' עם חילוץ צבע או הפעלת תכונות בחירה?
כן. ניתן להטמיע את התכונות בגרסה העדכנית ביותר של Google אפליקציית הטפט צריכה לבצע את שלבי השילוב שתוארו קודם לכן בדף הזה.
לפרטים נוספים, תוכלו לפנות למנהל החשבון הטכני (TAM).
Google יכולה לשתף את האפליקציה או את קוד המקור כדי שיצרני ציוד מקורי יוכלו להטמיע משלהם את האפליקציה או את קוד המקור של התצוגה המקדימה של הצבעים הדינמיים בתפריט ההגדרות, שנראית דומה לקטע התצוגה המקדימה באפליקציה 'בורר הטפטים' של Google?
המחלקות העיקריות שמשמשות את התצוגה המקדימה הן
WallpaperPicker2
וגם
Launcher3
מסך התצוגה המקדימה של הטפט הוא
WallpaperSectionController
איך להטמיע את גרסת טרום-ההשקה (Preview) אחרי שינוי הצבע, כפי שמוצג באפליקציית Google טפטים?
אפליקציית בוחר הטפטים מצפה ש-ContentProvider
יהיה זמין מ-
מרכז אפליקציות (למרכז האפליקציות מבוסס Launcher3
יש אותו). התצוגה המקדימה זמינה
לפי
GridCustomizationsProvider
במרכז האפליקציות, וצריך להפנות אליו בקטע 'הפעילות הראשית' של מרכז האפליקציות
מטא-נתונים
כ��י שאפליקציית הטפט והסגנון יוכלו לקרוא אותו. כל זה מיושם
מרכז האפליקציות 3, וזמין ליצרני הציוד המקורי.