يمكنك استخدام
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();