الأنماط والمكونات

في Android 8.0، تحصل قائمة "الإعدادات" على العديد من المكوّنات والتطبيقات المصغّرة التي تغطي الاستخدامات الشائعة. ننصح المصنّعين والمطوّرين باستخدام المكوّنات المشترَكة عند توسيع نطاق تطبيق "الإعدادات" حتى تظل واجهات المستخدم الجديدة متسقة مع واجهة المستخدم الحالية في "الإعدادات".

في ما يلي ملخّص للتحسينات:

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

التطبيقات المصغّرة الجديدة:

  • تطبيق مصغّر لعرض عنوان تفاصيل التطبيق تعرِض هذه البطاقة رمز التطبيق وتصنيف التطبيق وغيرها من المعلومات.
  • زر توسيع في بعض الصفحات يمكن أن تبدأ الصفحة مصغّرة وتُخفي العناصر الأقل أهمية إلى أن ينقر المستخدم على زر التوسيع.
  • واجهة مستخدم أداة اختيار التطبيقات التلقائية:
    • واجهة المستخدم لاختيار المتصفّح التلقائي وتطبيق الهاتف التلقائي وما إلى ذلك
    • كان هذا القسم في السابق مربّع حوار، ولكنه أصبح الآن واجهة مستخدم مستندة إلى زرّ اختيار في وضع ملء الشاشة.
  • إعدادات مفضّلة لأسلوب "MasterSwitch" هذا هو الإعداد المفضّل الذي يتضمّن هدفَين مقترنَين بالنقرات. يؤدي الاستهداف الأيمن إلى جزء أو نية من مجموعة فرعية. الهدف الأيمن هو مفتاح تبديل للتحكّم في تفعيل/إيقاف الصفحة بأكملها.

الأمثلة والمصدر

  • سلوك الفواصل
    • تم تعديل جميع الصفحات في "الإعدادات" لاستخدام سلوك المقسم الجديد.
    • يتم تحديد سلوك المقسم على أنّه ThemeOverlay في:
      packages/apps/Settings/res/values/styles_preference.xml
  • تغيير مظهر شريط الإجراءات
    • تم تعديل جميع الصفحات في "الإعدادات" لاستخدام مظهر شريط الإجراءات الجديد.
    • يتم تحديد المظهر في 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/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • ومن الأمثلة على حالات الاستخدام مفتاح Wi-Fi الأساسي. يمكنك العثور على مثال على الرابط التالي: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

التنفيذ

يمكن لصنّاع الأجهزة البدء في استخدام جميع المكوّنات الجديدة مباشرةً. إذا قرّرت الشركات المصنّعة للأجهزة الأصلية تنفيذ إعدادات مفضّلة جديدة لأسلوب "مفتاح التبديل الرئيسي" أو أداة اختيار التطبيقات التلقائية، عليها اتّباع الأمثلة الواردة في هذا المستند والملفات المرجعية (Javadoc) المكتوبة مع كل مكوّن للحصول على مزيد من التفاصيل.

تخصيص قائمة الإعدادات

  • سلوك المُقسِم لتغيير طريقة رسم المقسم، عدِّل نمط فواصل الإعدادات وغيِّر القيمة لأحد العنصرَين التاليَين:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • لون مظهر شريط الإجراءات يجب أن تستخدِم الأنشطة Theme.DeviceDefault.Settings كموضوع لها، أو أن تنشئ موضوعًا مخصّصًا باستخدام Theme.DeviceDefault.Settings كموضوع رئيسي.
  • التطبيق المصغّر لعنوان التطبيق استخدِم أدوات الضبط في AppHeaderController لتخصيص كل حقل واستدعاء build() بعد ضبط جميع الحقول.
  • زر التوسيع:
    • لإيقاف الوظيفة بالكامل، يمكنك إلغاء المُنشئ لسمة ProgressiveDisclosureMixin وضبط keepExpanded على true.
    • لتخصيص عدد العناصر التي سيتم عرضها في البداية، استخدِم الطريقة ProgressiveDisclosureMixin.setTileLimit() أثناء تنفيذ الطريقة onAttach(Context) في المقتطف.