إلى حد بعيد أضخم وأهم تغيير في Android 12 هو Material You ، أحدث إصدار من لغة تصميم المواد من Google. مادة أنت ، كما تصفها Google ، “يسعى إلى إنشاء تصميمات شخصية لكل نمط ، ويمكن الوصول إليها لكل الاحتياجات ، وحيوية وقابلة للتكيف مع كل شاشة.“عند تطوير Android 12 ، قامت Google بإنشاء محرك موضوع جديد باسم” monet “يقوم بإنشاء لوحة غنية من ألوان الباستيل المشتقة من خلفية المستخدم. يتم عقب ذلك تطبيق هذه الألوان على أجزاء متنوعة من النظام ويتم توفير قيمها عن طريق واجهة برمجة التطبيقات التي يمكن لتطبيقات المستخدم الاتصال بها ، وبالتالي السماح للتطبيقات بتحديد ما إذا كانت تريد كذلك إعادة تلوين واجهة المستخدم الخاصة بها. تعمل Google بشكل كامل على Material You ، وقد قامت الشركة بتحديث أكثر وأغلب تطبيقاتها لتضمين الألوان الديناميكية.
للحصول على دورة تدريبية مكثفة حول تاريخ التصميم متعدد الأبعاد ، تم إطلاقها لأول مرة عن طريق استخدام Android 5 Lollipop ، مع التركيز المتأصل على تجربة المستخدم. على حد تعبير Google ، “المواد عبارة عن نظام قابل للتكيف من الإرشادات والمكونات والأدوات التي تدعم أهم ممارسات تصميم واجهة المستخدم.” تتميز بلوحات ألوان مسطحة ، باستيل ، وعمق ، وإضاءة ناعمة ، وفيزياء واقعية. شهد Android 9 Pie ظهور Material Design 2 ، على الرغم من أنه لم يكن قريبًا من الإصلاح البصري الكبير على سبيل المثال أول تكرار لتصميم المواد. شهد Android 12 إطلاق Material Design 3 ، وهو إصلاح أكثر أهمية.
ومع ذلك ، قم بإزالة محرك تصميم الألوان ، والمواد التي ليست كذلك في الواقع الذي – التي مختلف. في الواقع ، فإن العنصر الشخصي الذي تدل عليه “أنت” يختفي تمامًا إلى حد ما.
كيف يعمل محرك موضوع monet
محرك السمات “monet” هو المنطقة الذي يحدث فيه السحر حينما يتعلق الأمر بـ Material You ، وهي الخوارزمية التي تحدد الألوان التي يتم اختيارها من ورق الحائط. تمت إضافة “Monet” إلى AOSP في Android 12L. يمكن لمطوري ROM المخصصين كذلك تنفيذ ذاك التطبيق مفتوح المصدر لـ “monet”. يتمتع مطورو تطبيقات الجهات الخارجية بحرية إضافة دعم للألوان الديناميكية في الوقت الحالي ، حتى لو كانت تعمل فقط على عدد محدود من الأجهزة حاليًا.
أنا متأكد من أن الاستفسار الأول الذي يطرحه أكثر وأغلب الأشخاص حول Material You هو كيفية إدارتها لاختيار الألوان التي تعمل معًا وتتباين جيدًا معًا في كل مرة. لقد جربت عددًا لا يحصى من الخلفيات بهدف كسر خوارزمية اختيار الألوان ، لكن لم ينجح أي منهم في القيام بذلك. لا يزال يختار الألوان التي تعمل معًا في كل مرة ، وهو إنجاز مثير للإعجاب ، على أقل تقدير. للحصول على نظرة ثاقبة حول كيفية عمل خوارزمية اختيار الألوان في Android 12 ، تأتي إحدى بيضتي عيد الفصح في مظهر عنصر واجهة مستخدم تستطيع إضافته إلى سطح المكتب. تُظهر الأداة كل الألوان المحددة بواسطة monet ، ويمكنك النقر عليها لملء الشاشة. حينما يكون في وضع ملء الشاشة ، تستطيع عقب ذلك النقر فوق لون لمشاركته. عند مشاركته ، يبدو الإخراج كما يلي:
A1-600 (@android:color/system_accent1_600)
currently:
حينما يغير المستخدم ورق الحائط الخاص به على جهاز Android 12 ، يتم تحليل الصورة لتحديد لون واختيار الألوان الأساسية والثانوية والثالثية والخطأ بطريقة حسابية عن طريق استخدام لون أولي أولي. يتم كذلك اختيار لونين محايدين يمنحان Material You لونها العام. في الوقت نفسه ، يتم تطبيق نظرية الألوان وقواعد الوصول. من هذه الألوان ، تُنشئ الخوارزمية ألواح ألوان تتراوح من 0٪ نصوع (أسود) إلى 100٪ (أبيض). يستعمل التخصيص الديناميكي أو السمات المخصصة قيمًا في ألواح الألوان هذه لتعيين سمات السمة لنطاق الألوان ذاك. يستخرج ما يصل إلى 128 لونًا من ورق الحائط إلى مساحة ألوان CIELAB كوسيط ، ثم تكون هذه الألوان تعيينها إلى CAM16. كاميرا CAM16 جلون أبيرنس ميتم استخدام odel لفرز الألوان وتصفيتها لتحديد لون البذور الفعلي ، ثم يتم إنشاء اللوحات عن طريق استخدام لون البذرة ذاك. عقب ذلك ، يتم تعيين هذه الألوان مجددا إلى RGB لضبط الألوان في كل أنحاء النظام.
يشار إلى CIELAB أحيانًا باسم “L * a * b *”. L * للسطوع / الإضاءة المتصورة ، و * و b * للألوان الأربعة الفريدة للرؤية البشرية – الأحمر والأخضر والأزرق والأصفر. يتم استخدام الخفة لحساب نسبة التباين ، مما يضمن إمكانية القراءة. بمجرد التطبيق ، ستحصل على كل ألوانك الجميلة على نسبة النظام والتي يمكن تنفيذها في واجهة مستخدم النظام والتطبيقات والمزيد.
ماذا حدث لتراكبات موارد وقت التشغيل (RROs)؟
لم تذهب RROs إلى أي مكان ، والمواد التي تعمل بها عن طريق Fabricated Overlays API. في الماضي ، تحدثنا عن كيفية استخدام التراكبات المُصنَّعة لإعادة التراكبات الخالية من الجذور. التراكبات المُصنَّعة هي إضافة جديدة إلى Android 12 ، وتعمل بشكل مختلف قليلاً عن RROs. مثال على ذلك ، تعمل RROs عن طريق تراكب APK مثبت على الجهاز ، في حين أن Fabricated Overlay يخبر التطبيق ببساطة بالألوان التي ينبغي استعمالها.
التراكبات المُصنَّعة هي كذلك محدودة بدرجة أضخم وأهم قليلاً من RROs. قبل Android 11 ، كان بإمكان RROs تجاوز أي مورد تقريبًا: القيم المنطقية والأعداد الصحيحة والأبعاد والسمات والتخطيطات وحتى ملفات البيانات الأولية. أجرى Android 11 بعض التغييرات على كيفية عمل RROs ، مما صنع التخطيطات المتجاوزة غير مجدية حقًا عقب الآن. من ناحية أخرى ، لا يمكن للتراكبات المُصنَّعة سوى تجاوز القيم التي يمكن تمثيلها كأعداد صحيحة. يتضمن الأعداد الصحيحة والأبعاد والمنطقية والألوان. لا تستطيع استعمالها لتجاوز موارد البيانات الأولية أو التخطيطات أو السلاسل أو المصفوفات – بأقل تقدير ليس بهذه السهولة.
ومع ذلك ، فإن هذه القيود لا تهم حقًا حينما يتعلق الأمر بـ Material You و monet. تُيسر التراكبات المُصنَّعة على النظام تطبيق تراكبات الألوان والأبعاد بسرعة فائقة ، دون انتظار تجميع ملف APK أو إعادة تشغيل النظام لتطبيقه.
المواد التي لا تزال تتحسن
من المؤكد أن ألوان Material You الديناميكية لا تخلو من مشاكلها ، وليس من الصعب كسرها بشكل أساسي. إذا قمت بتغيير ورق الحائط الخاص بك بسرعة ، مثال على ذلك ، تستطيع شن هجوم فعال لرفض الخدمة. أكد مشعل الرحمن أن هجوم رفض الخدمة ذاك تم إصلاحه في Android 12L. أتمنى مخلصًا أن يتم تحسين مادة ما في الإصدارات المستقبلية ، حيث أنني بينما أحبها ومفهومها ، فإنها تحتاج إلى الكثير من العمل. عن طريق تجربتي الشخصية ، أشعر أن ذاك التلاعب هو سبب عدم إضافته جزئيًا إلى AOSP … ذلك ، وحقيقة أن Google جعلته فعالاً في توقيت حصري لسلسلة Pixel. لقد واجهت مشكلة مؤخرًا عقب التحديث إلى تصحيح Android 13 الخاص بشهر ديسمبر على جهاز Google Pixel 7 Pro ، والذي تعقبته لاحقًا في logcat بسبب Material You و Google Pixel launcher.
بشكل مزعج ، أزال Android 12 خيارات الخطوط المخصصة والأيقونات المخصصة لصالح ميزة Material You الديناميكية. تم تقديم نظام السمات لأول مرة مع تطبيق Pixel Themes ، وكان يعتمد على إطار عمل التراكب القائم على نظام Android. على الرغم من أن نظام Material You الخاص بنظام Android 12 أكثر قابلية للتخصيص ، إلا أنه لا يتميز بالأنماط المخصصة التي قدمتها Google في Android 10. في تعليق على Google Issue Tracker ، قدم أحد موظفي Google الأسباب الأتية لإزالته:
“يتم استبدال ميزات النمط المخصصة (الخط وشكل الرمز وحزمة الرموز ولون التمييز) في R بميزة السمات الديناميكية الجديدة التي نقدمها في S. نرى ميزة السمات الديناميكية الجديدة على أنها أكثر حداثة وذكاء. تجربة سهله ويسيرة وممتعة نأمل أن يستمتع بها كل المستخدمين “.
يبدو من غير المحتمل أن تعيد Google تقديم الخطوط وخيارات الرموز المخصصة في العدسة. لقد أعرب الكثير من المستخدمين عن خيبة أملهم في تغيير مادة Google ، وبالنظر إلى مدى تعطلها ، فأنا أفهم تمامًا السبب. نأمل أن تقوم Google بتحسين تنفيذه ، أو ألا يقع مصنعي المعدات الأصلية الآخرين في نفس الفخاخ في تطبيقاتهم على سبيل المثال Google.
التغييرات في Android 13
حسنت Google على Material You لإصدار Android 13 ، وكان أحد التحسينات الأولى هو إضافة خمسة أنماط ألوان إضافية. تسمى أنماط الألوان الجديدة هذه TONAL_SPOT و VIBRANT و EXPRESSIVE و SPRITZ و RAINBOW و FRUIT_SALAD. لقد التقطنا لقطات شاشة وأظهرناها أدناه.
- TONAL_SPOT: المادة الافتراضية أنت ألوانها
- VIBRANT: يُنشئ لوحة ألوان أكثر بدرجات متفاوتة قليلاً وألوان ثانوية وخلفية ملونة أكثر
- EXPRESSIVE: يولد لوحة بأشكال بارزة متعددة تكون ملونة أكثر من VIBRANT
- سبريتز: يولد لوح ألوان أكثر انخفاضًا
قدم Android 13 كذلك قدرة المطورين على الحصول على رموز تطبيقات ذات طابع خاص كذلك ، حتى يتمكنوا من التعامل مع سمة النظام. يمكن للمطورين دعم ذلك عن طريق توفير رمز قابل للتكيف وأيقونة تطبيق أحادية اللون في تطبيقاتهم. لا يزال المشغل بحاجة إلى دعم الرموز ذات الموضوعات ، على سبيل المثال مشغل Google Pixel.
بفضل عضو كبير في XDA kdrag0n ، مطور كل من ProtonAOSP وإعادة إنشاء نظام Material You ، لمساعدتهم في هذه الخبر!