يعد محرك السمات Material You monet هو أبرز ما يميز نظام Android 12، وإليك كيفية عمله

مادة Google ليس من الصعب فهمها، على الرغم من عدم وجود الكثير من المعلومات في مكان واحد. تحقق من ذلك هنا!

روابط سريعة

  • كيف يعمل محرك موضوع مونيه
  • ماذا حدث لتراكبات موارد وقت التشغيل (RROs)؟
  • المواد التي لا تزال تتحسن
  • التغييرات في أندرويد 13

إلى حد بعيد أكبر تغيير في أندرويد 12 يكون المادة أنت، أحدث إصدار من لغة تصميم المواد من Google. المادة أنت، كما تصفها Google، "تسعى إلى إنشاء تصميمات شخصية لكل نمط، ويمكن الوصول إليها لجميع الاحتياجات، وحيوية ومتكيفة مع كل شاشة.عند تطوير Android 12، أنشأت Google محرك سمات جديدًا يحمل الاسم الرمزي "monet" والذي يُنشئ لوحة غنية من ألوان الباستيل مستمدة من خلفية المستخدم. يتم بعد ذلك تطبيق هذه الألوان على أجزاء مختلفة من النظام ويتم توفير قيمها من خلال واجهة برمجة التطبيقات (API) التي يمكن لتطبيقات المستخدم الاتصال بها، وبالتالي السماح للتطبيقات بتحديد ما إذا كانت تريد أيضًا إعادة تلوين ألوانها أم لا واجهة المستخدم. تعمل Google بكل ما في وسعها على Material You، وقد قامت الشركة بتحديث معظم تطبيقاتها لدمج الألوان الديناميكية.

للحصول على دورة تدريبية مكثفة حول تاريخ التصميم متعدد الأبعاد، تم إطلاقه لأول مرة مع Android 5 Lollipop، مع التركيز بشكل أساسي على تجربة المستخدم. مثل

جوجل يضعها"المادة عبارة عن نظام قابل للتكيف من الإرشادات والمكونات والأدوات التي تدعم أفضل الممارسات تصميم واجهة المستخدم." تتميز بلوحات ألوان مسطحة وباستيل وعمق وإضاءة ناعمة وواقعية الفيزياء. شهد Android 9 Pie ظهور Material Design 2، على الرغم من أنه لم يكن قريبًا من الإصلاح البصري الكبير الذي كان عليه التكرار الأول لتصميم المواد. شهد Android 12 إطلاق تصميم المواد 3، وهو إصلاح أكثر أهمية.

ومع ذلك، قم بإزالة محرك سمات الألوان، والمادة التي لا تملكها في الواقع الذي - التي مختلف. في الواقع، العنصر الشخصي الذي تشير إليه كلمة "أنت" يختفي تمامًا.

كيف يعمل محرك موضوع مونيه

محرك السمات "monet" هو المكان الذي يحدث فيه السحر عندما يتعلق الأمر بالمادة أنت، وهي الخوارزمية التي تحدد الألوان التي يتم تحديدها من ورق الحائط. تمت إضافة "Monet" إلى AOSP في Android 12L. يمكن لمطوري ROM المخصص أيضًا تنفيذ ذلك تنفيذ مفتوح المصدر لـ "monet". مطورو تطبيقات الطرف الثالث مجانيون لإضافة دعم للألوان الديناميكية في الوقت الحالي، حتى لو كان سيعمل فقط على عدد محدود من الأجهزة حاليًا.

أنا متأكد من أن السؤال الأول الذي يطرحه معظم الناس حول Material You هو كيفية تمكنها من اختيار الألوان التي تعمل معًا وتتناقض بشكل جيد معًا في كل مرة. لقد قمت بتجربة عدد لا يحصى من الخلفيات بهدف كسر خوارزمية انتقاء الألوان، لكن لم يتمكن أي منها من القيام بذلك. لا يزال يختار الألوان التي تعمل معًا في كل مرة، وهو إنجاز مثير للإعجاب، على أقل تقدير. للحصول على نظرة ثاقبة حول كيفية عمل خوارزمية اختيار الألوان في Android 12، تأتي إحدى بيضتي عيد الفصح في شكل أداة يمكنك إضافتها إلى سطح المكتب. تعرض الأداة جميع الألوان التي حددها مونيه، ويمكنك النقر عليها لعرضها بملء الشاشة. عندما يكون في وضع ملء الشاشة، يمكنك بعد ذلك النقر على اللون لمشاركته. عند مشاركتها، يبدو الإخراج كما يلي:

A1-600 (@android:color/system_accent1_600)
currently: #626200

عندما يقوم المستخدم بتغيير خلفية الشاشة الخاصة به على جهاز يعمل بنظام التشغيل Android 12، يتم تحليل الصورة لتحديد اللون واختيار الألوان الأساسية والثانوية والثالثية والخطأ خوارزميًا باستخدام بذرة أولية لون. يتم أيضًا اختيار لونين محايدين يمنحان Material You لونها العام. وفي الوقت نفسه، يتم تطبيق نظرية الألوان وقواعد إمكانية الوصول. من هذه الألوان، تقوم الخوارزمية بإنشاء لوحات درجات تتراوح من 0% نصوع (أسود) إلى 100% (أبيض). تستخدم السمات الديناميكية أو السمات المخصصة القيم الموجودة في لوحات الدرجات اللونية هذه لتعيين سمات السمة لنطاق الألوان هذا. يقوم باستخراج ما يصل إلى 128 لونًا من ورق الحائط إلى مساحة ألوان CIELAB كوسيط، ثم يتم تحويل تلك الألوان تم تعيينه إلى CAM16. كام16 جolor أمظهر مأوديل يُستخدم لفرز الألوان وتصفيتها لتحديد لون البذرة الفعلي، ومن ثم يتم إنشاء اللوحات باستخدام لون البذرة هذا. بعد ذلك، يتم تعيين هذه الألوان مرة أخرى إلى RGB لتحديد الألوان في جميع أنحاء النظام.

يشار أحيانًا إلى CIELAB باسم "L*a*b*". L* للسطوع/الإضاءة المدركة، وa* وb* للألوان الأربعة الفريدة للرؤية البشرية - الأحمر والأخضر والأزرق والأصفر. يتم استخدام الخفة لحساب نسبة التباين، مما يضمن إمكانية القراءة. بمجرد التطبيق، ستحصل على جميع الألوان الجميلة على مستوى النظام والتي يمكن تنفيذها في واجهة مستخدم النظام والتطبيقات والمزيد.

ماذا حدث لتراكبات موارد وقت التشغيل (RROs)؟

RROs لم تذهب إلى أي مكان، وتعمل Material You من خلال Fabricated Overlays API. في الماضي تحدثنا عن كيف يمكن استخدام التراكبات المُصنّعة لإعادة السمات التي لا جذور لها. تعد التراكبات المُصنّعة إضافة جديدة إلى Android 12، وهي تعمل بشكل مختلف قليلاً عن RROs. لأحد، RROs العمل من خلال تراكب APK مثبت على الجهاز، في حين أن التراكب المُصنَّع يخبر التطبيق ببساطة بالألوان التي يجب تطبيقها يستخدم.

تعتبر التراكبات المُصنّعة أيضًا محدودة بعض الشيء أكثر من RROs. قبل Android 11، كان بإمكان RROs القيام بذلك تجاوز إلى حد كبير أي مورد: القيم المنطقية، والأعداد الصحيحة، والأبعاد، والسمات، والتخطيطات، وحتى الخام ملفات البيانات. أجرى Android 11 بعض التغييرات على كيفية عمل RROs، مما يجعل تجاوز التخطيطات غير ممكن حقًا بعد الآن. من ناحية أخرى، لا يمكن للتراكبات المُصنَّعة تجاوز القيم التي يمكن تمثيلها كأعداد صحيحة. يتضمن ذلك الأعداد الصحيحة والأبعاد والقيم المنطقية والألوان. لا يمكنك استخدامها لتجاوز موارد البيانات الأولية، أو التخطيطات، أو السلاسل، أو المصفوفات - على الأقل ليس بسهولة.

ومع ذلك، فإن هذه القيود لا تهم حقًا عندما يتعلق الأمر بالمادة أنت ومونيه. تسهل التراكبات المُصنّعة على النظام تطبيق تراكبات الألوان والأبعاد بسرعة، دون انتظار تجميع ملف APK أو إعادة تشغيل النظام لتطبيقه.

المواد التي لا تزال تتحسن

من المؤكد أن الألوان الديناميكية في Material You لا تخلو من المشاكل، وليس من الصعب كسرها بشكل أساسي. على سبيل المثال، إذا قمت بتغيير ورق الحائط الخاص بك بسرعة، فيمكنك ذلك إنشاء هجوم رفض الخدمة بشكل فعال. مشعل الرحمن قام بالتأكيد على أنه تم إصلاح هجوم رفض الخدمة هذا في Android 12L. أتمنى بصدق أن يتم تحسين Material You في الإصدارات المستقبلية، فبينما أحبها وأحب مفهومها، فإنها تحتاج إلى الكثير من العمل. من تجربتي الشخصية، أشعر أن عيبه هو جزئيًا سبب عدم إضافته إلى AOSP... هذا، وحقيقة أن Google جعلته فعالاً حصريًا لسلسلة Pixel. لقد واجهت مشكلة مؤخرًا بعد التحديث إلى تصحيح Android 13 لشهر ديسمبر على هاتف Google Pixel 7 Pro، والذي قمت بتتبعه لاحقًا في السجل بسبب المادة أنت وGoogle Pixel منصة الإطلاق.

بشكل مزعج، قام Android 12 بإزالة الخطوط المخصصة وخيارات الرموز المخصصة لصالح السمات الديناميكية لـ Material You. تم تقديم نظام السمات لأول مرة مع تطبيق Pixel Themes، وكان يعتمد على إطار عمل السمات القائم على التراكب في Android. على الرغم من أن نظام السمات Material You في Android 12 أكثر قابلية للتخصيص، إلا أنه لا يتميز بالأنماط المخصصة التي قدمتها Google في Android 10. في تعليق في Google Issue Tracker، قدم أحد موظفي Google الأسباب التالية لإزالته:

"يتم استبدال ميزات النمط المخصص (الخط وشكل الأيقونة وحزمة الأيقونات ولون التمييز) في R بميزة السمات الديناميكية الجديدة التي نقدمها في S. نحن نرى أن ميزة السمات الديناميكية الجديدة أكثر حداثة وذكاءً. إنها تجربة بسيطة وممتعة نأمل أن يستمتع بها جميع المستخدمين.

يبدو من غير المرجح أن تقوم Google بإعادة تقديم الخطوط وخيارات الرموز المخصصة في المستقبل. أعرب العديد من المستخدمين عن خيبة أملهم في تغييرات Google Material You، وبالنظر إلى مدى الخلل الذي يمكن أن يحدث، فأنا أتفهم السبب تمامًا. نأمل أن تقوم Google بتحسين تنفيذها، أو ذلك ولا يقع مصنعو المعدات الأصلية الآخرون في نفس الفخاخ في تطبيقاتها التي تمتلكها Google.

التغييرات في أندرويد 13

قامت Google بتحسين المواد لك للإفراج عن أندرويد 13، وكان أحد التحسينات الأولى هو إضافة خمسة أنماط ألوان إضافية. تُسمى أنماط الألوان الجديدة هذه TONAL_SPOT، وVIBRANT، وEXPRESSIVE، وSPRITZ، وRAINBOW، وFRUIT_SALAD. لقد التقطنا لقطات شاشة وأظهرناها أدناه.

  • TONAL_SPOT: المادة الافتراضية التي تقوم بتلوينها
  • نابضة بالحياة: يُنشئ لوحة أكثر تناغمًا مع درجات ألوان مختلفة قليلاً وألوان ثانوية وخلفية ملونة أكثر
  • EXPRESSIVE: يُنشئ لوحة ذات ألوان بارزة متعددة أكثر ألوانًا من VIBRANT
  • SPRITZ: إنشاء لوحة ألوان منخفضة أكثر

قدم Android 13 أيضًا قدرة المطورين على الحصول على أيقونات تطبيقات ذات سمة معينة، حتى يتمكنوا من التعامل مع سمة النظام. يمكن للمطورين دعم ذلك من خلال توفير أيقونة قابلة للتكيف وأيقونة تطبيق أحادية اللون في تطبيقاتهم. لا يزال المشغل بحاجة إلى دعم الرموز ذات السمات، مثل Google Pixel Launcher.


شكرًا لكبار أعضاء XDA kdrag0n، مطور كل من ProtonAOSP و إعادة إنشاء نظام السمات Material You، لمساعدتهم في هذا المقال!