Snackbar to krótki komunikat wyświetlany u dołu ekranu. Udostępnia informacje o wykonywanych operacjach lub działaniach bez zakłócania wygody użytkownika. Paski znikają po kilku sekundach. Użytkownik może też zamknąć powiadomienie, wykonując określone działanie, np. klikając przycisk.
Oto 3 przypadki użycia, w których możesz użyć paska informacji:
- Potwierdzenie działania: gdy użytkownik usunie e-maila lub wiadomość, pojawi się pasek informacji, aby potwierdzić to działanie i zaproponować opcję „Cofnij”.
- Stan sieci: gdy aplikacja utraci połączenie z internetem, na pasku szybkiego dostępu pojawi się komunikat o tym, że jest teraz offline.
- Przesyłanie danych: po przesłaniu formularza lub zaktualizowaniu ustawień na pasku bocznym pojawi się komunikat o zapisaniu zmian.
Zgodność wersji
Ta implementacja wymaga, aby w projekcie ustawiona była minimalna wersja pakietu SDK na poziomie 21 lub wyższym.
Zależności
Tworzenie podstawowego paska przekąsek
Aby zaimplementować snackbar, najpierw utwórz element SnackbarHost
, który zawiera właściwość SnackbarHostState
. SnackbarHostState
zapewnia dostęp do funkcji showSnackbar()
, która umożliwia wyświetlanie paska powiadomień.
Ta funkcja zawieszania wymaga CoroutineScope
, na przykład rememberCoroutineScope
, i może być wywoływana w odpowiedzi na zdarzenia w interfejsie użytkownika, aby wyświetlić Snackbar
w Scaffold
.
Tworzenie snackbaru z działaniem
Możesz podać opcjonalne działanie i dostosować czas trwania Snackbar
.
Funkcja snackbarHostState.showSnackbar()
przyjmuje dodatkowe parametry actionLabel
i duration
oraz zwraca SnackbarResult
.
Możesz podać niestandardowy parametr Snackbar
za pomocą parametru snackbarHost
. Więcej informacji znajdziesz w dokumentacji interfejsu API SnackbarHost
.
Wyniki
Kolekcje zawierające ten przewodnik
Ten przewodnik należy do tych kolekcji krótkich przewodników, które obejmują szersze zagadnienia związane z tworzeniem aplikacji na Androida:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=pl)