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

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

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

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

الحاجيات الجديدة:

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

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

  • سلوك المقسم
    • يتم تعديل كافة الصفحات في الإعدادات لاستخدام سلوك المقسم الجديد.
    • يتم تعريف سلوك المقسم على أنه ThemeOverlay في:
      packages/apps/Settings/res/values/styles_preference.xml
  • تغيير موضوع ActionBar
    • تم تعديل جميع الصفحات في الإعدادات لاستخدام سمة 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

تطبيق

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

تخصيص

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