يقدّم نظام التشغيل Android 12 تصميم لوحة مزدوجة، مع قائمة L0 ثابتة على اليسار ولوحة محتوى على اليمين. توفّر هذه الميزة العديد من خيارات التخصيص الجديدة. توضّح هذه الصفحة تفاصيل هذه الميزات وتوضّح كيفية تخصيص إعداداتك المفضّلة.
الرجوع إلى اللوحة الواحدة
يعرض تطبيق CarSettings الآن تلقائيًا طريقة العرض المكوّنة من لوحتَين عندما يكون عرض نافذة التطبيق أكبر من 1400dp أو يساويه، ويعرض طريقة العرض المكوّنة من لوحة واحدة في الحالات الأخرى. لتخصيص هذا لجهاز معيّن، استخدِم تراكب موارد وقت التشغيل (RRO) لاستهداف قيم الإعدادات اللازمة:
القيمة | الوصف |
---|---|
config_global_force_single_pane |
اضبط القيمة على true إذا كان سيتم تشغيل التطبيق بأكمله في وضع
اللوحة الواحدة. |
config_homepage_fragment_class |
تُحدِّد المقتطف الأوّلي للصفحة الرئيسية. في وضع "الشريحة المزدوجة"، يتم استخدام هذا الخيار لتحديد المقتطف الأولي في لوحة المحتوى. وفي جزء واحد، يجب أن يكون هذا هو جزء الصفحة الرئيسية. |
مفاتيح العناوين
بما أنّ أنشطة CarSettings المختلفة يمكن أن تتضمّن واجهة مستخدم مخصّصة، يتم توفير تعيين مفتاح العنوان
لتبسيط عمليات التخصيص. في AndroidManifest.xml
، يكون لكل نشاط يدعم اللوحة المزدوجة TOP_LEVEL_HEADER_KEY
محدد في بياناته الوصفية.
تشير هذه القيمة إلى مفتاح محدّد في res/values/header_keys.xml
، والذي يتم
ربطه بمفتاح الإعدادات المفضّلة لعنصر القائمة من المستوى الأعلى الذي يندرج تحته الجزء الافتتاحي.
لذلك، في حال تغيير المقتطف الأوّلي لنشاط معيّن أو إعادة ترتيب ملف IA بحيث يقع مقتطف معيّن ضمن إعدادات مفضّلة مختلفة من المستوى الأعلى، يمكن تعديل عمليات الربط ذات الصلة في ملف header_keys.xml
لتحديد القيمة الصحيحة.
تخصيص تنسيق النشاط
يمكن العثور على تنسيق BaseCarSettingsActivity
في
res/layout/car_setting_activity
وفي الأقسام التالية:
القيمة | الوصف |
---|---|
top_level_menu |
جزء من القائمة ذات المستوى الأعلى يظهر في الإعدادات المزوّدة بشقّين تحدّد السمة top_level_menu_width عرض هذا القسم. يظهر التنسيق الأساسي للهيكل (باستخدام شريط الأدوات) حول طريقة العرض هذه. |
top_level_divider |
خط عمودي يقسم النافذتَين ويمكن تخصيص عرضه باستخدام
top_level_divider_width . |
fragment_container_wrapper |
تنسيق الغلاف للوحة المحتوى (أو اللوحة الرئيسية في الإعداد المكوّن من لوحة واحدة) يظهر التخطيط الأساسي للهيكل (باستخدام شريط الأدوات) حول طريقة العرض هذه. |
settings_focus_parking_view |
التنفيذ المخصّص لـ FocusParkingView للحفاظ على التركيز الدوّار
عند الحاجة |
fragment_container |
حاوية المحتوى الرئيسي تستخدم أجزاء المحتوى هذا التنسيق كتنسيق مستهدف. |
restricted_message |
عرض الحظر المحدود لتجربة المستخدم ليتم عرضه على نُسخ BaseFragment |
الشكل 1: تنسيق اللوحة المزدوجة
الإعدادات المفضّلة على مستوى أعلى
الإعدادات المفضّلة ذات المستوى الأعلى هي CarUiPreferences مخصّصة بتنسيق معدَّل قليلاً لتغيير ارتفاع الإعدادات المفضّلة وشكل الخلفية. هناك العديد من الطرق المختلفة لتخصيص مظهر هذه التفضيلات:
القيمة | الوصف |
---|---|
res/layout/top_level_preference.xml |
التراكب على تنسيق الإعدادات المفضّلة الكاملة |
top_level_preference_min_height |
الحد الأدنى لارتفاع الخيار المفضّل على مستوى أعلى وفقًا للمحتوى (على سبيل المثال، يتوفر عنوان فرعي)، قد تكون الإعدادات المفضّلة أطول من هذه القيمة. |
top_level_preference_corner_radius |
نصف قطر التقريب في الزاوية. |
top_level_preference_background |
خلفية الإعدادات المفضّلة على المستوى الأعلى عندما لا تكون مميّزة حاليًا |
top_level_preference_highlight |
خلفية الإعدادات المفضّلة ذات المستوى الأعلى عند تمييزها |
الرموز ذات المستوى الأعلى
يوضّح الشكل 2 كيف تتكوّن الرموز من المستوى الأعلى الآن من رمز متّجه داخل شكل خلفية ملون. تم ضبط هذا الشكل حاليًا ليتوافق مع شكل بيضاوي أو مستطيل. يتم ضبط الشكل تلقائيًا على الشكل البيضاوي.
لتغيير القيمة التلقائية، عدِّل القيمة في config_top_level_icon_shape
(حيث يكون 0 مستطيلاً و1 بيضاويًا). يتم إنشاء الرموز من خلال ضبط رمز المقدّمة من خلال top_level_foreground_icon_inset
من شكل الخلفية. يحتوي كل رمز من رموز المستوى الأعلى على
لون واجهة محدّد في res/values/colors.xml
ولون خلفية
محدّد في مجلد res/color
.
لإنشاء مظهر مخصّص، يمكنك إلغاء جميع قيم الألوان.
الشكل 2: مكونات الإعدادات المفضّلة ذات المستوى الأعلى
ويتم أيضًا التعامل مع رموز الإعدادات المفضّلة التي تم إدخالها والتي تندرج ضمن الفئات المحدّدة من خلال
"config_top_level_injection_categories
" كرموز من المستوى الأعلى.
يتمّ إدراج الأيقونات المقدَّمة بالقيمة نفسها وبالشكل نفسه المحدّد
لجميع الأيقونات الأخرى ذات المستوى الأعلى (راجِع أعلاه). ومع ذلك، يتم تحديد الخلفية من خلال النظر
في السمات التالية بهذا الترتيب:
com.android.settings.bg.argb
البيانات الوصفية من التطبيق الذي يتمّ حقن البيانات فيهcom.android.settings.bg.hint
البيانات الوصفية من تطبيق الحقنtop_level_injected_default_background
محدّد فيres/values/colors.xml
.
لتجاهل بيانات التطبيق التي يتم حقنها واستخدام الخلفية التلقائية دائمًا، اضبط
config_top_level_injection_background_always_use_default
على true
.