قم بتخصيص شريط الأدوات باستخدام تراكبات موارد وقت التشغيل

نظرة عامة على التخطيط الأساسي

يتم تخصيص شريط أدوات car-ui-lib من خلال ملف التخطيط car_ui_base_layout_toolbar.xml . يُطلق عليه اسم شريط أدوات *التخطيط الأساسي* لأن ملف التخطيط هذا يحتوي على FrameLayout بالمعرف car_ui_base_layout_content_container ، والذي سيحتوي على كل محتوى التطبيق بعد وقت قصير من تضخيم التخطيط. تتيح هذه البنية لمصنعي المعدات الأصلية (OEM) وضع شريط الأدوات في مواقع أخرى غير الجزء العلوي من الشاشة.

التخطيطات الممكنة
تخطيط شريط الأدوات 1تخطيط شريط الأدوات 2تخطيط شريط الأدوات 3
تخطيط شريط الأدوات 4تخطيط شريط الأدوات 5تخطيط شريط الأدوات 6

من خلال تغيير معلمات التخطيط في car_ui_base_layout_content_container ، يمكن ضغط التطبيق في منطقة أصغر لتوفير مساحة لشريط الأدوات. ومع ذلك، قد تتطلب بعض التخصيصات أن يكون شريط الأدوات شفافًا ومتراكبًا أعلى التطبيق. في هذه الحالة، يمكن وضع علامة على العروض باستخدام car_ui_top/bottom/left/right_inset . إذا اكتشف car-ui-lib عرضًا بمثل هذه العلامة، فإنه ينقل موضع وأبعاد هذا العرض إلى التطبيق، حتى يتمكن من وضع مسافة بادئة لمحتواه إلى الداخل بهذا المقدار، مع الاحتفاظ بخلفية معقولة في المساحة الموجودة أسفل شريط الأدوات . على سبيل المثال، ستحتوي معظم التطبيقات على العنصر الأول في CarUiRecyclerView الخاص بها والذي يبدأ أسفل الإدخالات المحددة، ولكنه سيظل مرئيًا خلف شريط الأدوات عندما يقوم المستخدم بالتمرير لأسفل.

دعم دوارة

لدعم وحدات التحكم الدوارة، يجب أن يحتوي التخطيط الأساسي على FocusParkingView في أقرب وقت ممكن في التخطيط. هذا العرض هو ما يتم التركيز عليه عندما لا يكون هناك تركيز مرئي للمستخدم. يجب أيضًا أن يكون شريط الأدوات مغلفًا بـ FocusParkingView ، والذي يحدد أنه منطقة دفع منفصلة لوحدة التحكم الدوارة. إذا لم يتم تغليفه في FocusParkingView، فلن يتمكن المستخدم من التفاعل مع شريط الأدوات باستخدام وحدة التحكم الدوارة.

نوافذ التبويب

يتم تخصيص علامات تبويب شريط الأدوات إما عن طريق ملفات التخطيط car_ui_toolbar_tab_item.xml أو car_ui_toolbar_tab_item_flexible.xml . لا يوجد اختلاف وظيفي بين الملفات، يحدد المورد المنطقي car_ui_toolbar_tab_flexible_layout أيهما سيتم استخدامه. ونتيجة لذلك، يوصى بإبقاء car_ui_toolbar_tab_flexible_layout مضبوطًا على false وتخصيص ملف التخطيط العادي فقط.

سيتم تظليل ImageView لعلامة التبويب باللون car_ui_toolbar_tab_item_selector في كود Java، لذلك يجب تخصيص car_ui_toolbar_tab_item_selector بجانب التخطيط. يمكن للتطبيقات أن تطلب عدم تلوين أيقونات علامات التبويب الخاصة بها بهذا اللون أيضًا.

تم تعيين مظهر النص الخاص بـ TextView لعلامة التبويب إما TextAppearance.CarUi.Widget.Toolbar.Tab أو TextAppearance.CarUi.Widget.Toolbar.Tab.Selected في تعليمات Java البرمجية، لذلك لن يتم تطبيق مظهر النص المعين في ملف التخطيط. يجب تخصيص هذه الأنماط أيضًا.

MenuItems هي الأزرار الموجودة في الزاوية اليمنى العليا من شريط الأدوات الافتراضي. يمكن أن تكون نصًا أو أيقونات أو أيقونات أو نصوصًا أو مفاتيح. تعد هذه الاختلافات كلها جزءًا من ملف تخطيط car_ui_toolbar_menu_item ، حيث يجب أن تكون MenuItems قادرة على التغيير بين كل نموذج إذا طلب التطبيق ذلك.

يمكن أن تكون MenuItems أساسية ، مما يؤدي إلى تضخيم ملف تخطيط مختلف: car_ui_toolbar_menu_item_primary . يجب أن يبدو عنصر القائمة الأساسي مختلفًا بصريًا عن عنصر القائمة العادي، على سبيل المثال عبر زر محدد/بلا حدود. افتراضيًا، يقوم car_ui_toolbar_menu_item_primary بإعادة التوجيه إلى car_ui_toolbar_menu_item ، بحيث يبدوا متماثلين.

يمكن تنشيط MenuItems ، وهي حالة مرئية أخرى تشير إلى تبديل MenuItem هذا. يتم تنفيذ هذه الحالة عن طريق استدعاء setActivated(true) في طريقة عرض MenuItem، والتي تضيف الحالة state_activated إلى جميع الرسوميات في طرق عرض MenuItem. يمكن الاستجابة لهذه الحالة القابلة للرسم باستخدام محدد قابل للرسم في تراكب موارد وقت التشغيل (RRO).

يمكن أن تكون MenuItems مقيدة بتجربة المستخدم عندما تتحرك السيارة. تعد تجربة المستخدم المقيدة مجرد حالة أخرى قابلة للرسم مثل المنشط ، ولكن هذه المرة يتم تعريف الحالة في التطبيق بدلاً من إطار عمل Android. وهذا يعني أن السمة state_ux_restricted يجب أيضًا أن تكون متراكبة مع RRO، بحيث تتطابق السمة المحددة في RRO مع السمة المحددة في التطبيق.

يوجد شريط البحث في ملف تخطيط car_ui_toolbar_search_view منفصل، وذلك لتحسين أداء تضخيم التخطيط للتطبيقات التي لا تحتاج إلى شريط بحث. سيحتوي FrameLayout ذو المعرف car_ui_toolbar_search_view_container على شريط البحث عند تضخيمه.