يمكنك استخدام
Snackbar لعرض رسالة موجزة للمستخدم. على عكس الإشعارات، تختفي الرسالة تلقائيًا بعد فترة قصيرة. Snackbar هي
الأفضل للرسائل الموجزة التي لا تتطلّب من المستخدم اتخاذ أي إجراء. على سبيل المثال، يمكن لتطبيق البريد الإلكتروني استخدام Snackbar لإعلام المستخدم بأنّ التطبيق أرسل رسالة إلكترونية بنجاح.
استخدام CoordinatorLayout
يتم إرفاق Snackbar بمشهد. يوفر Snackbar وظائف أساسية إذا كان مرتبطًا بأي عنصر مشتق من الفئة View، مثل أي من عناصر التنسيق الشائعة. ومع ذلك، إذا كان Snackbar مرتبطًا بـ CoordinatorLayout، سيحصل Snackbar على ميزات إضافية:
- يمكن للمستخدم إغلاق
Snackbarمن خلال التمرير السريع لإزالته. - تنقل طريقة العرض عناصر واجهة المستخدم الأخرى عند ظهور
Snackbar. على سبيل المثال، إذا كان التنسيق يتضمّنFloatingActionButton، سيؤدي التنسيق إلى نقل الزرّ إلى الأعلى عند عرضSnackbar، بدلاً من رسمSnackbarفوق الزرّ. يمكنك الاطّلاع على الشكل الذي يظهر به في الشكل 1.
يوفّر الصف CoordinatorLayout مجموعة فرعية من وظائف FrameLayout.
إذا كان تطبيقك يستخدم FrameLayout، يمكنك استبدال هذا التصميم بـ CoordinatorLayout لتفعيل وظائف Snackbar بالكامل. إذا كان تطبيقك يستخدم عناصر تنسيق أخرى، عليك تضمين عناصر التنسيق الحالية في CoordinatorLayout، كما هو موضّح في المثال التالي:
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myCoordinatorLayout" 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> </androidx.coordinatorlayout.widget.CoordinatorLayout>
اضبط علامة android:id لـ CoordinatorLayout.
تحتاج إلى رقم تعريف التصميم عند عرض الرسالة.
الشكل 1: يؤدي الرمز CoordinatorLayout إلى تحريك الرمز FloatingActionButton للأعلى عند ظهور الرمز Snackbar.
عرض رسالة
هناك خطوتان لعرض رسالة. أولاً، عليك إنشاء كائن Snackbar يتضمّن نص الرسالة. بعد ذلك، يمكنك استدعاء طريقة show() الخاصة بهذا العنصر لعرض الرسالة للمستخدم.
إنشاء عنصر Snackbar
أنشئ عنصر Snackbar من خلال استدعاء الإجراء الثابت Snackbar.make(). عند إنشاء Snackbar، حدِّد الرسالة التي سيتم عرضها ومدة عرضها:
val mySnackbar = Snackbar.make(view, stringId, duration)
- عرض
-
تمثّل هذه السمة طريقة العرض التي سيتم إرفاق
Snackbarبها. تبحث الطريقة في هيكلية طرق العرض من العرض الذي تم تمريره إلى أن تصل إلىCoordinatorLayoutأو عرض محتوى عنصر تزيين النافذة. في العادة، يكون من الأسهل تمريرCoordinatorLayoutالذي يضمّ محتواك. - stringId
- تمثّل هذه السمة رقم تعريف مرجع الرسالة التي تريد عرضها. يمكن أن يكون هذا النص منسّقًا أو غير منسّق.
- المدة
-
مدة عرض الرسالة يمكن أن يكون ذلك
LENGTH_SHORTأوLENGTH_LONG.
عرض الرسالة للمستخدم
بعد إنشاء Snackbar، استدعِ طريقة show()
لعرض Snackbar للمستخدم:
mySnackbar.show()
لا يعرض النظام عناصر Snackbar متعددة في الوقت نفسه، لذا إذا كان العرض يعرض حاليًا عنصر Snackbar آخر، سيضع النظام عنصر Snackbar في قائمة الانتظار ويعرضه بعد انتهاء صلاحية عنصر Snackbar الحالي أو إغلاقه.
إذا كنت تريد عرض رسالة للمستخدم ولا تحتاج إلى استدعاء أي من طرق الأداة المساعدة الخاصة بالكائن Snackbar، لن تحتاج إلى الاحتفاظ بالمرجع إلى Snackbar بعد استدعاء show(). لهذا السبب، من الشائع استخدام تسلسل استدعاء الدوال لإنشاء Snackbar وعرضها في عبارة واحدة:
Snackbar.make( findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT ).show()