دليل ميزات مكتبة الدعم

ملاحظة: مع إطلاق الإصدار Android 9.0 (المستوى 28 لواجهة برمجة التطبيقات)، يتوفر إصدار جديد من مكتبة الدعم باسم AndroidX وهو جزء من Jetpack. وتحتوي مكتبة AndroidX على مكتبة الدعم الحالية وتتضمّن أيضًا أحدث مكوّنات Jetpack.

يمكنك مواصلة استخدام مكتبة الدعم. ستبقى العناصر التاريخية (التي تم إصدارها في الإصدار 27 أو الإصدارات الأقدم، والمجمعة ضمن android.support.*) متاحة على Google Maven. ومع ذلك، سيتم إجراء جميع عمليات تطوير المكتبة الجديدة في مكتبة AndroidX.

ننصح باستخدام مكتبات AndroidX في جميع المشاريع الجديدة. ننصحك أيضًا بنقل المشاريع الحالية إلى AndroidX.

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

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

للحصول على معلومات حول طريقة إضافة رمز مكتبة الدعم إلى مشروع تطوير التطبيقات، يمكنك الاطّلاع على إعداد مكتبة الدعم. للحصول على معلومات حول طريقة تضمين حِزم مكتبة دعم محدَّدة في مشروعك، يمكنك الاطّلاع على حِزم مكتبة الدعم.

مكوّنات التطبيق

توفّر صفوف Support Library هذه عمليات تنفيذ متوافقة مع الأنظمة القديمة لميزات مهمّة وأساسية للنظام الأساسي. وتعمل عمليات التنفيذ هذه عادةً على توسيع نطاق الإصدارات السابقة من الفئة للتعامل مع الطرق والميزات الجديدة التي تمت إضافتها في الإصدارات الأحدث من المنصة. بعض هذه الفئات مكتملة، وهي عمليات تنفيذ ثابتة لواجهات برمجة التطبيقات لإطار العمل.

  • الأنشطة
    • ActivityCompat: تتضمّن عملية تنفيذ متوافقة مع الأنظمة القديمة للميزات الرئيسية الحديثة في الأنشطة، مثل أذونات وقت التشغيل وعمليات نقل الصور المتحركة.
    • FragmentActivity: توفِّر هذه السمة عملية تنفيذ متوافقة مع الأنظمة القديمة للأنشطة المتعلقة باستخدام إصدارات مكتبة الدعم من واجهات برمجة التطبيقات Fragment و Loader.
    • AppCompatActivity: يوفِّر هذا الخيار مظاهر الألوان Material ودرجة الألوان في التطبيقات المصغّرة وإمكانية استخدام شريط التطبيقات للأجهزة السابقة. يتطلب استخدام هذا الصف استخدام مظاهر Theme.AppCompat لعرض تقديمي مرئي متناسق.
  • Fragment - توفِّر هذه الدالة تنفيذًا مستقلاً لفئة Fragment لإطار العمل. يجب استخدام هذا الصف مع FragmentActivity.
  • ContextCompat: لتوفير الدعم للميزات التي تم تقديمها في الإصدارات الأحدث من الفئة Context، بما في ذلك إتاحة الأذونات والوصول إلى الملفات ومعلومات الألوان.
  • IntentCompat: لتوفير الدعم للميزات التي تم تقديمها في إصدارات أحدث من الفئة Intent، بما في ذلك طرق اختيار أنشطة محدّدة وبدئها.
  • Loader: توفِّر هذه السمة تنفيذًا ثابتًا لفئة إطار العمل Loader، وهي الفئة الأساسية لفئتَي الدعم AsyncTaskLoader وCursorLoader.
  • Preference: تتيح هذه الفئة وفئاتها الفرعية تنفيذ واجهة المستخدم لإعدادات التطبيقات بطريقة متوافقة مع الأنظمة القديمة.
  • ContentResolverCompat: يتم توفير الميزات التي تم تقديمها في إصدارات أحدث من الفئة ContentResolver، لا سيما طريقة query() مع دعم إلغاء طلب قيد التقدّم.

واجهة المستخدم

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

حاويات تصميم للأغراض العامة

توفِّر فئات الدعم هذه حاويات لواجهة المستخدم يمكن تكييفها لتناسب حالات استخدام التصميم المختلفة.

  • RecyclerView - لإنشاء تنسيق لعرض القوائم الطويلة، باستخدام استراتيجية لتجنُّب استهلاك الذاكرة المرتفع. تتيح لك هذه الفئة إنشاء عرض نافذة محدود في مجموعة بيانات أكبر، وبالتالي تجنُّب استهلاك كميات كبيرة من الذاكرة عند عرض القائمة. لمزيد من المعلومات حول استخدام RecyclerView، اطّلِع على دليل طريقة عرض أداة إعادة الاستخدام.
  • ViewPager: توفّر هذه السمة تنسيقًا يتيح للمستخدم الانتقال يمينًا ويسارًا خلال صفحات البيانات.
  • GridLayout: يتم توفير تنسيق مع عناصره الثانوية في شبكة مستطيلة، مع إتاحة تباعد عشوائي من الخلايا المتجاورة مع توزيع مرن للمساحات. توفّر هذه الفئة إصدارًا متوافقًا مع الأنظمة القديمة من الفئة GridLayout، وقد تم طرحه في الإصدار Android 4.0 (المستوى 14 من واجهة برمجة التطبيقات).
  • PercentFrameLayout وPercentRelativeLayout: يتم توفير تنسيقات تتوافق مع الأبعاد والهوامش المستندة إلى النسبة المئوية للمحتوى الفرعي وطرق العرض الفرعية.

ملاحظة: لا تتوفر الصفوف ViewPager وRecyclerView وPercentFrameLayout وPercentRelativeLayout إلا من مكتبات الدعم.

حاويات التصميم لأغراض خاصة

توفّر فئات الدعم هذه عمليات تنفيذ متوافقة لأنماط تصميم محدّدة، مثل طرق عرض الأسطوانات التي يمكن سحبها من حافة الشاشة ولوحات التمرير والقوائم المتداخلة داخل القوائم.

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

طرق العرض ومربعات الحوار والتطبيقات المصغّرة

توفّر مكتبات الدعم عددًا من الفئات لعرض المحتوى وتوفير عناصر تفاعل المستخدمين بتنسيق.

  • CardView - صف مخصّص في مكتبة الدعم لإنشاء بطاقات عرض بنمط "التصميم المتعدد الأبعاد". تعتمد هذه الفئة على تنسيق FrameLayout الذي يضم زوايا دائرية وتظليل قطرات.
  • AppCompatDialogFragment: يتم توفير مربّعات حوار ذات أنماط متناسقة عن طريق توسيع نطاق DialogFragment واستخدام AppCompatDialog.
  • NotificationCompat: تتم إتاحة أنماط الإشعارات الجديدة بطريقة متوافقة مع الأنظمة القديمة.
  • SearchView: يتم توفير فئة للمستخدم ليتمكّن من إدخال طلب البحث وإرسال طلب إلى مقدّم خدمة بحث، والذي تم تصميمه في الأساس للاستخدام في شريط التطبيقات.

التصميم متعدد الأبعاد

توفّر مكتبات الدعم عددًا من الفئات لتنفيذ اقتراحات واجهة المستخدم ذات التصميم المتعدد الأبعاد.

  • CoordinatorLayout: تتوفّر حاوية من المستوى الأعلى للتصاميم التي تتضمّن مكوّنات وسلوك التصميم المتعدد الأبعاد. يمكن استخدام هذه الفئة أيضًا كحاوية لتفاعل محدّد مع طريقة عرض فرعية واحدة أو أكثر.
  • AppBarLayout: تتيح هذه السياسة تنفيذ العديد من ميزات التمرير في مفهوم شريط التطبيقات في Material Design.
  • FloatingActionButton - ينشئ زرًا عائمًا لعرض نوع خاص من الإجراءات التي تم الترويج لها. يظهر عنصر واجهة المستخدم هذا في Material Design كرمز دائري عائم فوق واجهة مستخدم التطبيق. لمزيد من المعلومات، يُرجى الاطّلاع على إضافة زر إجراء عائم.
  • DrawerLayout: يؤدي هذا الخيار إلى إنشاء لائحة تنقّل، وهي لوحة واجهة مستخدم تعرض قائمة التنقّل الرئيسية في تطبيقك. ويظهر هذا الإشعار عندما يمرِّر المستخدم سريعًا إصبعًا من الحافة اليسرى للشاشة أو ينقر على رمز الدرج في شريط التطبيقات. لمزيد من المعلومات، يُرجى الاطِّلاع على إنشاء لائحة تنقّل.
  • TabLayout: لتوفير تنسيق لعرض الصفحات ذات علامات التبويب. تم تصميم هذه الأداة للاستخدام مع الصف ViewPager.
  • Snackbar: يتم توفير تطبيق مصغّر لعرض ملاحظات وآراء بسيطة حول إحدى العمليات باستخدام النافذة المنبثقة لشريط الوجبات الخفيفة.

الرسومات

تتيح حزمة android.support.graphics.drawable إمكانية رسم الرسومات المتّجهة. من خلال استخدام الرسومات المتجهة، يمكنك استبدال مواد عرض PNG متعددة برسم متّجه واحد يكون محدّد في XML.

توفِّر VectorDrawableCompat إمكانية تثبيت المتجهات القابلة للرسم على المستوى 9 من واجهة برمجة التطبيقات والمستويات الأعلى. توفِّر AnimatedVectorDrawableCompat إمكانية استخدام الرسومات المتجهة المتحركة على المستوى 11 من واجهة برمجة التطبيقات والإصدارات الأحدث.

تسهيل الاستخدام

توفّر حزمة android.support.v4.view.accessibility فئات توافق لتنفيذ ميزات تسهيل الاستخدام التي تم تقديمها في المستوى 14 من واجهة برمجة التطبيقات والإصدارات الأحدث، والتي تسمح لخدمات تسهيل الاستخدام بتتبُّع تفاعل المستخدم مع العناصر المعروضة على الشاشة وتحديده.

  • ExploreByTouchHelper: يتم توفير تسهيل الاستخدام في طريقة عرض مخصّصة تمثّل مجموعة من العناصر المنطقية التي تشبه طريقة العرض.

تشغيل الوسائط

توفّر مكتبة دعم Android خلفيًا لوظيفة جهاز توجيه الوسائط للأجهزة التي تعمل بإصدارات نظام أساسي أقدم من Android 4.1 (المستوى 16 من واجهة برمجة التطبيقات). تسمح هذه الفئات بالتحكّم في تشغيل الوسائط على أجهزة Android المتصلة:

  • MediaRouter: تتيح للتطبيقات إمكانية التحكّم في توجيه قنوات الوسائط وأحداث البث من الجهاز الحالي إلى مكبّرات الصوت الخارجية وأجهزة الوجهة.
  • MediaControllerCompat - يسمح هذا الإذن للتطبيق بالتفاعل مع جلسة وسائط جارية. ويمكن للتطبيقات توفير أزرار التحكم في الوسائط من خلال هذه الآلية وإرسال أوامر تشغيل أخرى إلى الجلسة.
  • MediaSessionCompat - يتم توفير واجهة للتحكّم عن بُعد لتشغيل الوسائط، ما يتيح التفاعل مع وحدات التحكّم في الوسائط، ومفاتيح التحكّم بمستوى الصوت، وأزرار الوسائط، وعناصر التحكّم في النقل في التطبيقات الأخرى أو على أجهزة منفصلة.

تطبيقات التلفزيون

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

تطبيقات Wear OS

توفّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android مكتبات لإتاحة الساعات. وتوفّر هذه المكتبات وظائف للتطبيقات التي تكون متاحة للمستخدمين كلما ارتدوا ساعةً.

برامج الخدمات

تقدم مكتبة دعم Android عددًا من الميزات غير المضمّنة في إطار العمل. وتوفّر هذه المكتبات مجموعة من الأدوات المساعدة التي يمكن للتطبيقات استخدامها.