يمكنك استخدام رمز
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
.
ستحتاج إلى رقم تعريف التنسيق عند عرض الرسالة.
الشكل 1: ينقل الرمز CoordinatorLayout
الرمز
FloatingActionButton
للأعلى عند ظهور الرمز Snackbar
.
عرض رسالة
هناك خطوتان لعرض رسالة. أولاً، عليك إنشاء كائن
Snackbar
يتضمّن نص الرسالة. بعد ذلك، يمكنك استدعاء show()
طريقة هذا العنصر لعرض الرسالة على المستخدم.
إنشاء عنصر شريط معلومات سريع
أنشئ عنصرًا من النوع Snackbar
من خلال استدعاء الطريقة الثابتة
Snackbar.make()
. عند إنشاء Snackbar
، حدِّد الرسالة التي
يعرضها ومدة عرضها:
Kotlin
val mySnackbar = Snackbar.make(view, stringId, duration)
Java
Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
- عرض
-
العرض الذي تريد إرفاق
Snackbar
به. تبحث الطريقة في التسلسل الهرمي للعرض من العرض الذي تم تمريره إلى أن تصل إلىCoordinatorLayout
أو عرض محتوى ديكور النافذة. من السهل عادةً تمريرCoordinatorLayout
الذي يحيط بالمحتوى. - stringId
- معرّف المورد للرسالة التي تريد عرضها. ويمكن أن يكون نصًا منسَّقًا أو غير منسَّق.
- المدة
-
المدة التي يتم فيها عرض الرسالة. يمكن أن يكون
LENGTH_SHORT
أوLENGTH_LONG
.
عرض الرسالة للمستخدم
بعد إنشاء Snackbar
، استخدِم show()
لعرض Snackbar
على المستخدم:
Kotlin
mySnackbar.show()
Java
mySnackbar.show();
لا يعرض النظام عناصر Snackbar
متعددة في
الوقت نفسه، لذا إذا كان العرض يعرض حاليًا Snackbar
آخر، يُضيفه
النظام إلى "قائمة المحتوى التالي" ويعرضه بعد انتهاء صلاحيةSnackbar
الحالي أو إغلاقه.Snackbar
إذا كنت تريد عرض رسالة للمستخدم ولا تحتاج إلى استدعاء أي من methods 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();