אפשר להשתמש
Snackbar
עד
הצגת הודעה קצרה למשתמש. ביטול הלייק
התראות,
ההודעה נעלמת באופן אוטומטי לאחר פרק זמן קצר. Snackbar
הוא
אידיאלי להודעות קצרות שהמשתמש לא צריך לבצע לגביהן פעולה. לדוגמה,
אפליקציית האימייל יכולה להשתמש ב-Snackbar
כדי להודיע למשתמש שהיא
נשלח אימייל בהצלחה.
שימוש בפריסת Coordinator
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
מפעילים את הפונקציה הסטטית
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
בתוקף או נסגרת.
אם אתם רוצים להציג הודעה למשתמש ואין צורך להתקשר לאף אחת
שיטות השירות (method) של האובייקט 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();