צבע דינמי

עיצוב Material You הושק עם גרסת Android 12 והורחב עם Android 13.

בדף הזה מתמקדים בעדכונים ללוגיקה של Material You כדי לעזור לכם לשלב תמיכה עשירה יותר בצבעים דינמיים.

לוחות צבעים טונליים דינמיים

החל מ-Android 12, יש תמיכה בפלטות הבאות של צבעים דינמיים:

כל אחת מהן מורכבת מקבוצה של 13 צבעים עם ערכי בהירות שונים מוגדרים, כפי שמתואר בכתובת R.color, אבל עם ערכי גוון ורוויה לא מוגדרים שיכולים להיווצר באופן דינמי על ידי מערכת Android בזמן הריצה.

סגנונות עיצוב לצבע דינמי

החל מ-Android 13, יש תמיכה בשישה סגנונות עיצוב שונים עם וריאציות של אלגוריתם הצבע הדינמי, ששומרות על הצרכים של המפתחים ועל ציפיות הניגודיות. הצבעים האלה מפורטים כדי ליצור את הצבע הדינמי 65 שמשמש באפליקציות:

  • TONAL_SPOT היא פלטה עם רמת חיות בינונית שמשתמשת בצבע system_accent3_0 שדומה לצבע system_accent1_0 (הועבר מגרסת Android 12 ועבר התאמה קלה).
  • VIBRANT היא פלטת צבעים עם רמת חיות גבוהה, שבה יש שילוב הרמוני של שינויים עדינים בין הצבעים.
  • EXPRESSIVE הוא לוח צבעים עם רמת בהירות גבוהה שמשלב צבעים לא צפויים וייחודיים.
  • SPRITZ הוא לוח צבעים עם רמת רוויה נמוכה שיוצר מעבר רך בין הצבעים.
  • RAINBOW משתמשת בהדגשות כרומטיות ובמשטחים ניטרליים כדי ליצור חוויית צבע עדינה יותר למשתמשים.
    • לא מומלץ להשתמש באפשרות הזו עם שילובי צבעים שמבוססים על הטפט, אלא עם ערכות צבעים סטטיות.
  • FRUIT_SALAD מספק צבעים דו-גווניים כדי לאפשר למשתמשים להביע את עצמם בצורה טובה יותר.
    • לא מומלץ להשתמש באפשרות הזו עם שילובי צבעים שמבוססים על הטפט, אלא עם ערכות צבעים סטטיות.

העיצוב של המערכת מבוסס על אותה הגדרה כמו ב-Android 12, שהיא Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. ב-Android 13, נדרש רק מפתח אחד ב-JSON ששולח את צבע המקור כדי ליצור את 65 פלטות הצבעים:

{
    "android.theme.customization.system_palette":"746BC1"
}

סגנון ברירת המחדל של ערכת הנושא הוא TONAL_SPOT, אבל אפשר לציין אחד מסגנונות ערכת הנושא האחרים באמצעות מפתח נוסף ב-JSON שלמעלה:

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

שילוב של צבע דינמי

הנחיות לשילוב צבעים דינמיים מפורטות במאמר שילוב עיצוב Material You.

שאלות נפוצות

מה כולל ה-API של לוח הצבעים הדינמי?

איך נוצרת פלטת צבעים דינמית?

צריך ליצור לוח צבעים דינמי מגוון מצבע מקור יחיד שצריך להיות נגזר מהטפט באמצעות com.android.systemui.monet.ColorScheme#getSeedColors, שמספק כמה צבעי מקור תקינים. אם אף אחד מהצבעים שצוינו לא עומד בדרישה של צבע המקור, צריך להשתמש בערך 0xFF1B6EF3 עבור צבע המקור היחיד.