ألوان ديناميكية

تم إطلاق Material You design مع إصدار 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"
}

دمج اللون الديناميكي

للحصول على إرشادات حول دمج الألوان الديناميكية، راجع دمج المواد التي تصممها .

الأسئلة المتداولة (الأسئلة الشائعة)

ما الذي تتضمنه واجهة برمجة تطبيقات لوحة الألوان الديناميكية؟

  • هناك خمس لوحات لونية:

  • تحتوي كل لوحة درجات على 13 قيمة لون تنتهي بالمؤشرات 0، 10، 50، 100، 200، 300، 400، 500، 600، 700، 800، 900، و1000.

  • واجهة برمجة التطبيقات (API) الناتجة عبارة عن مزيج من اسم لوحة الألوان، وينتهي بالفهرس. على سبيل المثال: R.color#system_accent1_10

كيف يتم إنشاء منصة نغمية ديناميكية؟

يجب إنشاء لوحة درجات لونية ديناميكية من لون مصدر واحد ينبغي استخلاصه من ورق الحائط باستخدام com.android.systemui.monet.ColorScheme#getSeedColors ، الذي يوفر ألوان مصدر صالحة متعددة. إذا لم يفي أي من الألوان المتوفرة بمتطلبات اللون المصدر، فيجب أن يستخدم اللون المصدر الفردي القيمة 0xFF1B6EF3 .