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