رنگ پویا

طراحی متریال یو (Material You design) با انتشار اندروید ۱۲ راه‌اندازی شد و با اندروید ۱۳ گسترش یافت.

این صفحه بر به‌روزرسانی‌های منطق Material You تمرکز دارد تا به شما در ادغام با پشتیبانی از رنگ‌های پویاتر و غنی‌تر کمک کند.

پالت‌های رنگی پویا

با شروع از اندروید ۱۲، پالت‌های رنگی پویای زیر پشتیبانی می‌شوند:

هر یک از آنها شامل مجموعه‌ای از ۱۳ رنگ با مقادیر روشنایی مختلف تعریف‌شده، همانطور که در R.color توضیح داده شده است، هستند، اما مقادیر hue و chroma تعریف‌نشده‌ای دارند که می‌توانند به صورت پویا توسط سیستم اندروید در زمان اجرا تولید شوند.

سبک‌های تم برای رنگ پویا

از اندروید ۱۳ به بعد، شش سبک تم مختلف با تغییراتی در الگوریتم رنگ پویا پشتیبانی می‌شوند که نیازهای توسعه‌دهندگان و انتظارات کنتراست را برآورده می‌کند. این موارد برای تولید ۶۵ رنگ پویای مورد استفاده توسط برنامه‌ها فهرست شده‌اند:

  • TONAL_SPOT یک پالت با Vibrancy متوسط ​​است که از رنگ system_accent3_0 مشابه رنگ system_accent1_0 استفاده می‌کند (این رنگ از نسخه اندروید ۱۲ به بعد منتقل شده و کمی تغییر یافته است).
  • VIBRANT یک پالت با طراوت بالا است که به طور هماهنگ، تغییر ظریف بین رنگ‌ها را با هم ترکیب می‌کند.
  • EXPRESSIVE یک پالت با طراوت و سرزندگی بالا است که رنگ‌های برجسته غیرمنتظره و منحصر به فرد را با هم جفت می‌کند.
  • SPRITZ یک پالت با ویبره کم است که بین رنگ‌ها، یک پوشش نرم ایجاد می‌کند.
  • RAINBOW از هر دو عنصر رنگی و سطوح خنثی استفاده می‌کند تا تجربه رنگی لطیف‌تری را برای کاربران ایجاد کند.
    • استفاده از این روش برای استخراج رنگ مبتنی بر تصویر زمینه توصیه نمی‌شود و در عوض باید با تم‌های رنگی ثابت استفاده شود.
  • FRUIT_SALAD دو رنگ مختلف را ارائه می‌دهد تا به کاربران جلوه بیشتری بدهد.
    • استفاده از این روش برای استخراج رنگ مبتنی بر تصویر زمینه توصیه نمی‌شود و در عوض باید با تم‌های رنگی ثابت استفاده شود.

تم سیستم توسط همان تنظیماتی که در اندروید ۱۲ وجود داشت، یعنی Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES ، هدایت می‌شود. برای اندروید ۱۳، فقط به یک کلید در JSON خود نیاز دارد که رنگ منبع را برای تولید ۶۵ پالت رنگی ارسال می‌کند:

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

سبک پیش‌فرض تم TONAL_SPOT است، اما می‌توانید به صورت اختیاری یکی از سبک‌های تم دیگر را با یک کلید اضافی با JSON بالا مشخص کنید:

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

ادغام رنگ پویا

برای راهنمایی در مورد ادغام رنگ پویا، به بخش «ادغام موادی که طراحی می‌کنید» مراجعه کنید.

سوالات متداول (FAQ)

API پالت تُن‌های پویا شامل چه مواردی می‌شود؟

  • پنج پالت رنگی وجود دارد:

  • هر پالت تُن دارای ۱۳ مقدار رنگ است که به شاخص‌های ۰، ۱۰، ۵۰، ۱۰۰، ۲۰۰، ۳۰۰، ۴۰۰، ۵۰۰، ۶۰۰، ۷۰۰، ۸۰۰، ۹۰۰ و ۱۰۰۰ ختم می‌شوند.

  • API حاصل ترکیبی از نام پالت تُن‌ها است که به اندیس ختم می‌شود. برای مثال: R.color#system_accent1_10

چگونه یک پالت رنگی پویا ایجاد می‌شود؟

یک پالت تُن پویا باید از یک رنگ منبع واحد تولید شود که باید از تصویر زمینه با استفاده از com.android.systemui.monet.ColorScheme#getSeedColors گرفته شود، که چندین رنگ منبع معتبر را ارائه می‌دهد. اگر هیچ یک از رنگ‌های ارائه شده، الزام رنگ منبع را برآورده نکنند، رنگ منبع واحد باید از مقدار 0xFF1B6EF3 استفاده کند.