يمكنك استخدام
Snackbar
لعرض رسالة موجزة للمستخدم. على عكس
الإشعارات، تختفي
الرسالة تلقائيًا بعد فترة قصيرة. يُعَدّ Snackbar
مثاليًا للرسائل الموجزة التي لا يحتاج المستخدم إلى اتّخاذ إجراء بشأنها. على سبيل المثال، يمكن أن يستخدم تطبيق بريد إلكتروني Snackbar
لإبلاغ المستخدم بأنّ التطبيق أرسل رسالة إلكترونية بنجاح.
استخدام CoordinatorLayout
يتم إرفاق Snackbar
بأحد العرض. توفّر السمة Snackbar
الوظائف الأساسية إذا كانت مرفقة بأي عنصر مشتق من الفئة View
، مثل أيٍّ من عناصر التنسيق الشائعة. ومع ذلك، إذا تم إرفاق Snackbar
بـ CoordinatorLayout
، سيحصل Snackbar
على ميزات إضافية:
- يمكن للمستخدم إغلاق "
Snackbar
" من خلال تمريره جانبًا بسرعة. - ينقل التنسيق عناصر واجهة المستخدم الأخرى عند ظهور
Snackbar
. على سبيل المثال، إذا كان التنسيق يتضمّنFloatingActionButton
، ينقل التنسيق الزرّ للأعلى عندما يعرضSnackbar
، بدلاً من رسمSnackbar
أعلى الزر. يمكنك الاطّلاع على شكل ذلك في الشكل 1.
وتوفر الفئة CoordinatorLayout
مجموعة رئيسية من وظائف FrameLayout
.
إذا كان تطبيقك يستخدم FrameLayout
، يمكنك استبداله
بالتنسيق CoordinatorLayout
لتفعيل وظائف Snackbar
الكاملة. إذا كان تطبيقك يستخدم كائنات تنسيق أخرى، عليك التفاف عناصر التنسيق الحالية في CoordinatorLayout
، كما هو موضّح في المثال التالي:
<android.support.design.widget.CoordinatorLayout android:id="@+id/myCoordinatorLayout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Here are the existing layout elements, now wrapped in a CoordinatorLayout. --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- ...Toolbar, other layouts, other elements... --> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
اضبط علامة android:id
لـ CoordinatorLayout
.
تحتاج إلى معرّف التنسيق عند عرض الرسالة.
عرض رسالة
هناك خطوتان لعرض الرسالة. أولاً، يمكنك إنشاء كائن
Snackbar
باستخدام نص الرسالة. بعد ذلك، يمكنك استدعاء طريقة
show()
لهذا الكائن لعرض الرسالة للمستخدم.
إنشاء كائن Snackbar
أنشِئ عنصر Snackbar
من خلال استدعاء الطريقة
Snackbar.make()
الثابتة. عند إنشاء Snackbar
، حدِّد الرسالة التي يعرضها ومدة عرض الرسالة:
Kotlin
val mySnackbar = Snackbar.make(view, stringId, duration)
Java
Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
- عرض
-
العرض المطلوب إرفاق
Snackbar
به. تبحث هذه الطريقة في التدرّج الهرمي "طرق العرض" من طريقة العرض التي تم تمريرها إلى أن تصل إلىCoordinatorLayout
أو طريقة عرض محتوى ديكور النافذة. في العادة، يسهل عليك تمريرCoordinatorLayout
التي تتضمن المحتوى. - رقم تعريف السلسلة
- رقم تعريف المصدر للرسالة التي تريد عرضها. ويمكن أن يكون هذا النص بتنسيق أو غير منسَّق.
- المدة
-
المدة الزمنية التي يتم خلالها عرض الرسالة. يمكن أن تكون السمة
LENGTH_SHORT
أوLENGTH_LONG
.
عرض الرسالة للمستخدم
بعد إنشاء Snackbar
، يمكنك استدعاء طريقة show()
الخاصة بها لعرض Snackbar
للمستخدم:
Kotlin
mySnackbar.show()
Java
mySnackbar.show();
لا يعرض النظام عناصر Snackbar
متعدّدة في الوقت نفسه، لذا إذا كانت طريقة العرض تعرض حاليًا Snackbar
أخرى، يضع النظام Snackbar
في قائمة الانتظار ويعرضه بعد انتهاء صلاحية قيمة Snackbar
الحالية أو إغلاقها.
إذا كنت تريد عرض رسالة للمستخدم ولا تحتاج إلى استدعاء أي من
طرق أداة مساعدة كائن Snackbar
، لن تحتاج إلى الاحتفاظ
بالمرجع إلى Snackbar
بعد استدعاء show()
. لهذا السبب، من الشائع استخدام تسلسل الطرق لإنشاء Snackbar
وإظهاره في عبارة واحدة:
Kotlin
Snackbar.make( findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT ).show()
Java
Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT) .show();