نظرة عامة على واجهة المستخدم القابلة للتوسّع

استخدِم واجهة مستخدم قابلة للتوسيع لإنشاء تجارب مستخدم متطورة وديناميكية ومتعددة اللوحات في السيارات. واجهة مستخدم قابلة للتوسّع:

  • توفير نظام نوافذ مرن

  • يقلّل من المخاطر والتكاليف والتعقيدات الهندسية التي تطرحها مجموعة أدوات اختبار التوافق (CTS) لعمليات تنفيذ واجهة المستخدم.

تتوافق واجهة المستخدم القابلة للتوسيع مع مجموعة كبيرة من التصاميم الحديثة لنظام المعلومات والترفيه داخل المركبة (IVI) التي تتطلّب ترتيبات ديناميكية للنوافذ، كما يمكن تصغيرها لتتوافق مع التجارب التقليدية التي تتضمّن ترتيبات ثابتة للنوافذ.

يقدّم نظام التشغيل Android 17 الميزات التالية الخاصة بميزة "النوافذ المتقدّمة":

تجارب نموذجية

تتيح واجهة المستخدم القابلة للتوسيع مجموعة متنوعة لا حصر لها من إعدادات النوافذ. في ما يلي بعض السيناريوهات النموذجية التي تم إنشاؤها لتجربة واجهة المستخدم القابلة للتوسيع:

خلفية الخريطة مع تطبيقات عائمة

إعدادات خلفية الخريطة مع تطبيقات أخرى تطفو في الأعلى

خلفية التطبيق

إعداد خلفية تطبيق مع لوحات عائمة

التطبيق المثبّت تحت التطبيقات الأخرى

تطبيق مثبَّت، مثل حاوية تطبيقات مصغّرة، مع تشغيل تطبيقات أخرى فوقه

لوحة عائمة شرطية

لوحة عائمة شرطية تظهر فقط عند استيفاء شروط معيّنة، مثل تشغيل الوسائط أو عند تفعيل تنبيه

التطبيق المثبّت بالقرب من السائق

تطبيق مثبَّت أقرب إلى السائق

تصميم تقسيم الشاشة

تنسيق تقسيم الشاشة الذي يعرض تطبيقَين جنبًا إلى جنب

تقسيم الشاشة بشكل تفاعلي

تنسيق تفاعلي للشاشة المقسّمة يتيح تغيير الحجم بشكل ديناميكي

تنسيق متعدد نقاط الارتكاز للشاشات الكبيرة

تنسيق متعدد المراكز مصمَّم للشاشات الكبيرة

تنسيق شاشة رئيسية يعرض لوحة دوّارة للتطبيقات

المزايا والامتثال

تشمل مزايا واجهة المستخدم القابلة للتوسيع ما يلي:

  • انخفاض مخاطر الاختبار: تم اعتماد إطار العمل مسبقًا وهو متوافق مع مجموعة أدوات اختبار التوافق (CTS)، ما يقلّل من المخاطر الأساسية لحدوث أخطاء في الاختبار في مرحلة متأخرة من دورة البرنامج. يمكن أن توفّر واجهة المستخدم القابلة للتوسّع أشهرًا من جهود الهندسة وتسرّع عملية الامتثال.

  • مرونة أكبر في التصميم: إمكانية مثبتة على إعادة إنشاء العديد من نماذج النوافذ المعقّدة الحالية في السيارات تتيح واجهة المستخدم القابلة للتطوير تصميمات طموحة ومختلفة بشكل كبير.

  • انخفاض مستوى تعقيد التنفيذ: يؤدي التجريد إلى نموذج XML عالي المستوى يستند إلى الإعدادات إلى تقليل الحواجز التي تعيق استخدام منطق تقسيم النوافذ المخصّص.

  • أداء أفضل: تعمل واجهة المستخدم القابلة للتوسيع على أساس نظام نوافذ عالي الأداء ومدمج بالكامل مع نظام Android العادي. تنتقل الإعلانات بسلاسة، ما يتيح التحسين المباشر.

أساسيات إنشاء قناة

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

يساعد النهج المستند إلى XML في معالجة التحديات الشائعة عند إدارة أنظمة عرض النوافذ المعقّدة في AAOS، مثل تحديد المواضع بدقة، وحلّ التعارضات في ترتيب العناصر حسب محور Z، وتحديد التطبيق الذي يجب التركيز عليه.

توفّر واجهة المستخدم القابلة للتوسّع هذه اللبنات الأساسية.

لوحة

اللوحة هي الحاوية المستطيلة الأساسية على الشاشة. يرتبط كل لوحة بمهمة جذر مخصّصة لإدارتها بشكل مستقل. يمكن أن تستضيف اللوحة مهام التطبيقات (TaskPanel) أو المحتوى المستند إلى العرض، مثل التطبيقات المصغّرة (DecorPanel). لمزيد من المعلومات، اطّلِع على إعداد لوحة.

السعر المتغير

يحدّد الخيار حالة مرئية معيّنة للوحة ويتضمّن سمات مثل bounds (الموضع والحجم) وvisibility وlayer (ترتيب Z) ونصف قطر corner. يمكن أن تحتوي اللوحة الواحدة على خيارات، مثل opened أو closed أو minimized. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام عنصر متغير لتصميم حالة مرئية.

الانتقال

يحدّد الانتقال كيفية انتقال اللوحة من حالتها الحالية fromVariant إلى حالة جديدة toVariant. يؤدي Event إلى تشغيل عملية الانتقال، ما يحدّد الرسم المتحرك الذي تستخدمه اللوحة أثناء تغيير الحالة. يجب أن تنتقل اللوحة من حالتها الحالية إلى toVariant. للمزامنة، يحرّك Window Manager الأساسي جميع عمليات الانتقال وينسّقها.

  • الحدث: هو مشغّل لبدء تغيير في واجهة المستخدم. يمكن لمصنّع المعدات الأصلية أو النظام تحديد مشغّل مسبقًا. على سبيل المثال، _System_OnHomeEvent أو _System_TaskOpenEvent أو الضغط على زر تنقّل مخصّص.

على سبيل المثال، تستخدم Scalable UI الأحداث لتشغيل عمليات الانتقال. تُحرّك عمليات الانتقال هذه لوحة من شكل إلى آخر لعرض التغييرات الديناميكية في واجهة المستخدم. تُبلغ واجهة المستخدم القابلة للتوسيع تطبيقات النظام الأخرى بهذه التغييرات لتعديل المحتوى حسب الحاجة. من خلال تحديد علاقات واجهة المستخدم في XML، يمكنك إجراء ما يلي:

  • تحديد سلوكيات معقّدة لواجهة المستخدم: يمكنك تحديد تفاعلات معقّدة لواجهة المستخدم.

  • ترتيب أنظمة النوافذ: يمكنك التحكّم في موضع النوافذ وترتيبها.

  • تطبيق مظاهر مرئية: يمكنك تطبيق علامة تجارية وعناصر جمالية متّسقة.

  • تقليل تعقيد الرموز: الحدّ من الحاجة إلى تطوير رموز مخصّصة واسعة النطاق

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط انتقال.

أزرار واجهة مستخدم النظام

بالإضافة إلى تشغيل الأهداف، يمكن أن يشغّل CarSystemBarButtons حدث واجهة مستخدم قابلة للتوسيع عند النقر عليه باستخدام السمات event وselectedEvent وunselectedEvent.

تصف event الحدث الذي سيتم تنشيطه عند النقر على الزر. إذا كنت بحاجة إلى تحكّم أكثر دقة في حدث ما، استخدِم السمتَين selectedEvent وunselectedEvent لتحديد الحدث الذي سيتم تشغيله عند تحديد الزر أو إلغاء تحديده، على التوالي.

حالات استخدام واجهة مستخدِم النظام

يوضّح هذا القسم الاستخدامات المثالية لواجهة المستخدم القابلة للتوسيع.

إنشاء تنسيقات متعددة اللوحات ثابتة

إنشاء تجربة متعددة المناطق يتم فيها تخصيص مناطق مختلفة من الشاشة بشكل دائم لوظائف معيّنة على سبيل المثال، عناصر تحكّم مخصّصة في الوسائط أو شريط مناخ أو خريطة بملء الشاشة.

استخدِم TaskPanels للتطبيقات الأساسية (مثل تطبيق الملاحة) وDecorPanels لعناصر واجهة المستخدم، في شكل طرق عرض، يجب وضعها بين TaskPanels.

تنفيذ مشهد ديناميكي في المنزل

نفِّذ مشهد الشاشة الرئيسية يتألف من لوحات تطبيقات متعددة مرئية وتفاعلية في الوقت نفسه. على سبيل المثال، الخريطة ومشغّل الوسائط وشبكة التطبيقات.

لنقل جميع اللوحات ذات الصلة إلى صيغتها الأساسية opened أو default، اضبط _System_HomeEvent.

تطبيق التراكبات السياقية

وضع عناصر واجهة مستخدم غير تابعة للتطبيق، مثل التطبيقات المصغّرة السياقية والعلامات التجارية المخصّصة وأشرطة السحب التي يمكن تحريكها بالتنسيق مع مهام التطبيق

استخدِم DecorPanels لجميع العناصر الزخرفية أو التي تستضيف أدوات فقط. إذا كانت الأداة تستضيف تطبيقًا يعمل بكامل وظائفه ويمكن تشغيله، فإنّ استخدام Panel > TaskPanel هو الخيار الأفضل. استخدِم DecorPanels لعناصر واجهة المستخدم المستندة إلى طريقة العرض عندما يجب أن تتم مزامنة الطبقات مع طبقات TaskPanel.

تصميم تفاعلات معقّدة في اللوحات

تصميم إجراءات متقدّمة يحدّدها المستخدم، مثل تغيير حجم لوحة التطبيق بشكل ديناميكي أو تعديل طرق عرض لوحة العدادات استنادًا إلى محتوى الشاشة الرئيسية

حدِّد Events مخصّصًا لتفعيل Transitions معيّن غير متوافق مع معايير النظام.

توسيع نطاق تخطيطات نظام المعلومات والترفيه ليشمل "قمرة قيادة رقمية موحّدة"

تتولّى واجهة المستخدم القابلة للتوسيع إدارة النوافذ المتعددة اللوحات (TaskPanel وDecorPanel) على شاشة نظام المعلومات والترفيه الرئيسية (display0) في SDV IVI الجهاز الافتراضي. يمكنك إقران واجهة المستخدم القابلة للتوسيع بميزة أمان شاشة العرض لتعديل طرق عرض لوحة العدادات عند تغيير تخطيط شاشة العرض الرئيسية:

  • إجراءات واجهة المستخدم القابلة للتوسيع (SDV IVI الجهاز الافتراضي): عندما تتغير حالة لوحة على الشاشة الرئيسية، يمكن لواجهة المستخدم القابلة للتوسيع إرسال هدف باستخدام <Action> في xml/scalable_ui_actions.xml لإعلام مكوّنات المجموعة بتغييرات التنسيق أو الوضع. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة ضبط إجراء.
  • DriverUI (SDV IVI VM): يتم تشغيله على شاشة مجموعة الأجهزة (display1) كتطبيق نظام يتم إطلاقه من خلال ClusterHomeManager ومصمّم باستخدام automotive-design-compose. تعرض DriverUI محتوى غير مرتبط بالأمان (مثل الخرائط والوسائط والمكالمات الهاتفية) وتتعامل مع تحديثات الحالة من نظام المعلومات والترفيه داخل المركبة.
  • بوابة SDV على نظام المعلومات والترفيه داخل السيارة (SDV IVI VM): تستخدم DriverUI SDV Gateway Client للاتصال بـ عارض التوفّر العالي (HAR) عبر gRPC (driverui.proto). ترسل DriverUI تحديثات حالة المجموعة (مثل أشكال التصميم ورموز السمة وتغييرات اللغة) بالإضافة إلى رسائل نبضات القلب الدورية.
  • HAR وSafety Monitor (SDV Media VM): يتم تشغيلهما في SDV Media VM منفصل لعرض العناصر المهمة المتعلقة بالسلامة (مثل السرعة والترس وإشارات التحذير والأجراس وموجزات كاميرا الرجوع إلى الخلف). وعلى الرغم من تلقّي HAR إشارات نبض من DriverUI، إلا أنّه يحافظ على شفافية مناطق مجموعات Android، ما يتيح دمج محتوى DriverUI مع تراكبات الأمان في HAR. إذا كان SDV IVI في مرحلة التشغيل أو غير متاح، يعرض HAR عناصر نائبة احتياطية.
  • إعدادات الشركة المصنّعة للجهاز الأصلي: لإعداد هذا المسار، اضبط مشغّلات <Event> وأهداف <Action> في xml/scalable_ui_actions.xml على SDV IVI، وعدِّل ملف تصميم Figma وعمليات ربط إشارات Config.json لسلسلة أدوات تصميم الأمان، ونفِّذ طبقة تجريد منصة HAR (PAL) للأجهزة المستهدَفة.