في نظام التشغيل Android 8.0، تكتسب قائمة "الإعدادات" عدة مكوّنات وعناصر واجهة مستخدم تغطي الاستخدامات الشائعة. ننصح الشركات المصنّعة للأجهزة والمطوّرين باستخدام المكوّنات الشائعة عند توسيع تطبيق "الإعدادات" لضمان اتّساق واجهات المستخدم الجديدة مع واجهة المستخدم الحالية في تطبيق "الإعدادات".
في ما يلي ملخّص للتحسينات:
- تغيير سلوك أداة التقسيم في إطار عمل Preference في مكتبة الدعم يتم الآن رسم فاصل بين الفئات.
- تغيير مظهر شريط الإجراءات يستخدم شريط الإجراءات الآن مظهرًا فاتح الألوان مع نص بلون مميز.
- تنسيق جديد للإعدادات المفضّلة تبقى المساحة المخصّصة للرموز متاحة حتى عندما لا يكون هناك رمز للإعداد المفضّل.
التطبيقات المصغَّرة الجديدة:
- أداة رأسية لعرض تفاصيل التطبيق تعرض هذه السمة رمز التطبيق وتصنيفه وغير ذلك من المعلومات.
- زر توسيع على بعض الصفحات يمكن أن تبدأ الصفحة مصغّرة وتخفي العناصر الأقل أهمية إلى أن ينقر المستخدم على زر التوسيع.
- واجهة مستخدم أداة اختيار التطبيقات التلقائية:
- واجهة المستخدم لاختيار المتصفّح التلقائي وتطبيق الهاتف التلقائي وما إلى ذلك
- كانت في السابق مربّع حوار، وأصبحت الآن واجهة مستخدم تستند إلى أزرار اختيار في وضع ملء الشاشة.
- تفضيل أسلوب "MasterSwitch" هذا إعداد مفضّل يتضمّن هدفَين للنقر. يؤدي الهدف الأيسر إلى جزء أو هدف فرعي. الهدف الأيمن هو مفتاح تبديل يتحكّم في تفعيل الصفحة بأكملها أو إيقافها.
أمثلة ومصدر
- سلوك الفاصل
- تم تعديل جميع الصفحات في "الإعدادات" لاستخدام سلوك الفاصل الجديد.
- يتم تحديد سلوك أداة التقسيم على أنّه ThemeOverlay في:
packages/apps/Settings/res/values/styles_preference.xml
- تغيير مظهر شريط الإجراءات
- تم تعديل جميع الصفحات في "الإعدادات" لاستخدام مظهر ActionBar الجديد.
- يتم تحديد المظهر في Theme.DeviceDefault.Settings
- تنسيق جديد للإعدادات المفضّلة
- تستخدم العديد من الصفحات في "الإعدادات" الآن تنسيق الإعدادات المفضّلة الجديد.
- يمكنك العثور على الرمز في:
packages/apps/Settings/res/values/styles_preference.xml
- تطبيق مصغّر لعنوان التطبيق
- تستخدم معظم صفحات معلومات التطبيقات في "الإعدادات" حاليًا رأس التطبيق الجديد.
- يمكنك الاطّلاع على الأمثلة والرمز على الرابط التالي:
packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
- زر التوسيع
- يمكنك الاطّلاع على الأمثلة والرمز على الرابط التالي:
packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.javaملاحظة: يجب استخدام هذا المكوّن مع DashboardFragment. (يمكنك الاطّلاع على مزيد من التفاصيل حول DashboardFragment في هيكل المعلومات المعدَّل).
- يمكنك الاطّلاع على الأمثلة والرمز على الرابط التالي:
- أداة اختيار التطبيقات التلقائية
- يمكنك العثور على رمز الفئة الأساسية في:
packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java - هناك العديد من الفئات الفرعية من DefaultAppPickerFragment، وكل فئة فرعية تنفّذ أداة اختيار لغرض مختلف.
- يمكنك العثور على رمز الفئة الأساسية في:
- MasterSwitch خيار النمط المفضّل
- يمكنك العثور على الرمز في:
https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java - من الأمثلة على حالات الاستخدام التبديل الأساسي إلى شبكة Wi-Fi. يمكنك الاطّلاع على مثال على ذلك على الرابط:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- يمكنك العثور على الرمز في:
التنفيذ
يمكن لمصنّعي الأجهزة البدء في استخدام جميع المكوّنات الجديدة فور توفّرها. إذا قرّرت الشركات المصنّعة للأجهزة الأصلية تنفيذ إعدادات جديدة على غرار "مفتاح التحكّم الرئيسي" أو أداة اختيار التطبيقات التلقائية، عليها اتّباع الأمثلة الواردة في هذا المستند وملفات المراجع (Javadoc) المكتوبة مع كل مكوّن للحصول على مزيد من التفاصيل.
تخصيص قائمة الإعدادات
- سلوك الفاصل لتغيير طريقة رسم الفاصل، عدِّل نمط فواصل "الإعدادات" وغيِّر قيمة ما يلي:
allowDividerAboveallowDividerBelowallowDividerAfterLastItem
- لون مظهر شريط الإجراءات. يجب أن تستخدم الأنشطة
Theme.DeviceDefault.Settingsكسمة، أو إنشاء سمة مخصّصة باستخدامTheme.DeviceDefault.Settingsكعنصر رئيسي. - تطبيق مصغَّر لعنوان التطبيق استخدِم أدوات الضبط في AppHeaderController لتخصيص كل حقل واستدعاء
build()بعد ضبط جميع الحقول. - زر التوسيع:
- لإيقاف الوظيفة بالكامل، عليك إلغاء الدالة الإنشائية الخاصة بـ ProgressiveDisclosureMixin وضبط keepExpanded على true.
- لتخصيص عدد العناصر التي سيتم عرضها في البداية، استدعِ طريقة
ProgressiveDisclosureMixin.setTileLimit()أثناء طريقةonAttach(Context)في الجزء.