Wraz z Androidem 5.0 pojawił się Material Design, a razem z nim API do krótkiego wyświetlania powiadomień o nazwie Snackbar. Można na nim łatwo zaimplementować przycisk, co w przypadku Toast nie było już takie proste. Jednak mimo to Toast nie otrzymało statusu @Deprecated, czyli można stosować obydwa elementy, najlepiej w zależności od kontekstu w którym chcemy użyć krótkiego powiadomienia. Po za kontekstem, ważny może być również design i ogólny ux podczas korzystania z aplikacji. Nie spotkałem się z dokładnym przedstawienie kiedy używać którego, podpowiedzią może być to, że Snackbara wystarczy przesunąć aby zniknął, z kolei Toast miał ograniczony czas widoczności i po prostu musi swoje na ekranie wisieć.
Najprostsza implementacja wygląda w ten sposób.
Snackbar:
Snackbar.make(rl, „Snackbar”, Snackbar.LENGTH_LONG).show();
gdzie rl to RelativeLayout na którym ma być wyświetlony Snackbar.
Toast:
Toast.makeText(getApplicationContext(), „Toast”, Toast.LENGTH_LONG).show();
Jak widać, różnic zbyt wielu nie ma, Snackbar odnosi się do layoutu, z kolei Toast do contentu.
Kod który tutaj wkleiłem to implementacja Snackbara z biblioteki AndroidDesignSupportLibrary, o której już wspominałem. Tak wygląda to w najprostszej postaci:
Projekt na githubie.
Pozdrawiam!