الروبوت 12 يدخل تصميم جديد جزء المزدوج، مع قائمة L0 ثابت على اليسار وجزء المحتويات على اليمين. تقدم هذه الميزة العديد من خيارات التخصيص الجديدة. توضح هذه المقالة تفاصيل هذه الميزات وتشرح كيف يمكنك تخصيص تفضيلاتك الخاصة.
العودة إلى جزء واحد
بشكل افتراضي ، يعرض CarSettings الآن عرض اللوحة المزدوجة عندما تكون نافذة التطبيق أكبر من أو تساوي 1400dp في العرض وعرض الجزء الفردي بخلاف ذلك. لتخصيص هذا لجهاز معين ، استخدم Runtime Resource Overlay (RRO) لاستهداف قيم التكوين الضرورية:
قيمة | وصف |
---|---|
config_global_force_single_pane | تعيين إلى true إذا كان تطبيق كامل لتشغيل في تكوين جزء واحد. |
config_homepage_fragment_class | يحدد جزء البداية للصفحة الرئيسية. في الجزء المزدوج ، يتم استخدام هذا للجزء الأولي في جزء المحتوى. في جزء واحد ، يجب أن يكون هذا جزء الصفحة الرئيسية. |
مفاتيح الرأس
نظرًا لأنه يمكن أن تحتوي أنشطة CarSettings المختلفة على IA مخصص ، يتم توفير تعيين مفتاح الرأس لتبسيط التخصيصات. في 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 | عرض حجب UX المقيدة إلى أن يظهر في حالات 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 غير البيضاوي). يتم إنشاء الرموز التي insetting رمز المقدمة من قبل 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
.