Android - Snackbar vs Toast - penggunaan dan perbedaan

103

Sejauh ini kami hanya menggunakan Toasts dalam aplikasi kami dan karena kami berencana untuk mengadopsi beberapa fitur baru dari Support Design Library, saya bertanya-tanya apa penggunaan yang disarankan untuk Snackbar vs. Toast.

Saya sudah membaca di google materi snackbar doc.

Snackbar memberikan umpan balik ringan tentang suatu operasi dalam munculan kecil di dasar layar di ponsel dan di kiri bawah di desktop. Mereka berada di atas semua elemen di layar, termasuk FAB.

dan bersulang.

Android juga menyediakan roti panggang berbentuk kapsul, terutama digunakan untuk perpesanan sistem. Toast mirip dengan snackbar tetapi tidak berisi tindakan dan tidak dapat digeser dari layar.

Saya mengerti apa yang mereka lakukan tetapi saya agak bingung kapan harus menggunakan apa. Apakah itu berarti:

  • Jika saya tidak memerlukan interaksi pengguna, saya akan bersulang?
  • Apa yang dimaksud dengan "perpesanan sistem"? Apakah itu berlaku untuk menampilkan informasi ketika sesuatu yang penting terjadi antara aplikasi saya dan sistem Android?
  • Yang saya suka adalah fitur geser layar - apakah itu menjadi alasan untuk mulai mengganti roti panggang dengan snackbar? (ini adalah pertanyaan berbasis opini)
Jakub Holovsky
sumber
Tautan ini tidak lagi berfungsi. Mungkin yang ini harus digunakan material.io/guidelines/components/snackbars-toasts.html ?
Vadim Kotov

Jawaban:

109

Jika saya tidak memerlukan interaksi pengguna, saya akan bersulang?

Anda masih bisa menggunakan Snackbar. Tidak wajib memiliki tindakan dengan Snackbar.

Apa yang dimaksud dengan "perpesanan sistem"? Apakah itu berlaku untuk menampilkan informasi ketika sesuatu yang penting terjadi antara aplikasi saya dan sistem Android?

Saya percaya ini berarti Toasts akan digunakan jika ada beberapa pesan yang berkaitan dengan sistem. Baik android secara keseluruhan atau beberapa layanan latar belakang yang mungkin Anda jalankan. Misalnya Text-To-Speech is not installed.ORNo Email client found.

Yang saya suka adalah fitur geser layar - apakah itu alasan untuk mulai mengganti toast dengan Snackbar? (ini adalah pertanyaan berbasis opini)

Itulah salah satu alasannya. Namun ada beberapa poin plus lainnya. Misalnya: Toast Anda tetap ada di layar bahkan saat aktivitas selesai. Snackbar tidak. Kebingungan akan berkurang jika toast tidak muncul (atau terus muncul jika ada beberapa pembuatan Toast secara berurutan) lama setelah aplikasi ditutup. Ini tidak akan terjadi dengan Snackbar.

Lebih dari segalanya: Saya sarankan jika Anda berpikir, Anda harus beralih. SnackBars terlihat jauh lebih baik daripada Toasts.

AndroidMechanic - Patel Viral
sumber
18
Cheers, intinya Snackbar hidup hanya saat Anda sedang beraktivitas sangat berguna.
Jakub Holovsky
9
Saya akan menambahkan bahwa Toast lebih disukai untuk pesan yang merujuk ke aplikasi secara keseluruhan selain pesan sistem, sementara Snackbar lebih disukai untuk pesan yang merujuk ke aktivitas saat ini. Misalnya, jika aplikasi Anda memeriksa pembaruan saat peluncuran, sebaiknya gunakan bersulang untuk pesan hasil. Jika aplikasi Anda memiliki item yang dapat dihapus, lebih disukai untuk menampilkan pesan tanggapan yang dihapus sebagai snackbar dengan tombol urungkan.
Subaru Tashiro
10
Satu hal lagi yang perlu diperhatikan adalah toast tidak ditampilkan saat notifikasi dimatikan.
Horatio
Perbedaan penting juga adalah bahwa hanya satu Snackbar yang ditampilkan setiap saat, tidak seperti Toast - Anda dapat memiliki beberapa Toast yang ditampilkan di atas satu sama lain, yang dapat mengganggu pengguna, terutama mengingat fakta bahwa mereka tidak dapat dihapus oleh menggesek.
Firzen
47

Saya ingin menambahkan sedikit perbandingan antara roti panggang dan snack bar. Menurut saya, jika Anda bermaksud untuk memberikan peringatan atau info yang memerlukan interaksi / pengakuan pengguna, sebaiknya gunakan snack bar. Jika itu hanya pesan info yang tidak membutuhkan pengakuan pengguna, Anda dapat menggunakan roti panggang.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                Toast                                 |                                 Snackbar                                 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| 1 | Cant be dismissed by swiping                                        | Can dismiss by swiping                                                   |
| 2 | Activity not required (Can show in android home or above other apps) | Can show inside an activity of your app                                  |
| 3 | Cant handle user input                                              | Can handle user input                                                    |
| 4 | Good for showing info messages to user                               | Good for showing warning/info type messages to user that needs attention |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Midhun MP
sumber
26

Roti panggang:

  1. Roti panggang ditambahkan di API Level 1
  2. Pada dasarnya Aktivitas tidak diperlukan (Dapat ditampilkan di Android home atau bahkan di atas aplikasi lain)
  3. Itu tidak dapat melakukan tindakan berdasarkan masukan Pengguna
  4. Itu tidak dapat ditutup dengan menggesek
  5. Itu tidak dapat menangani input pengguna seperti Swipe, Click, dll.
  6. Baik untuk menampilkan pesan info kepada pengguna

SnackBar:

  1. SnackBar ditambahkan di API Level 23
  2. Itu dapat ditampilkan di dalam aktivitas Aplikasi
  3. Itu bisa melakukan suatu tindakan
  4. Itu dapat ditutup dengan menggesek
  5. Itu bisa menangani masukan pengguna
  6. Baik untuk menampilkan pesan jenis peringatan / info kepada pengguna yang membutuhkan perhatian

Penggunaan SnackBar dan Toast:

SnackBar:

SnackBar dapat digunakan di area di mana pesan popup sederhana perlu ditampilkan bersama dengan opsi untuk melakukan tindakan. Sebagai Contoh: Dalam aplikasi GMail, ketika Anda menghapus Mail, SnackBar cepat ditampilkan di bagian bawah dengan Pesan '1 Dihapus' dengan tombol tindakan 'Urungkan'. Saat menekan tombol tindakan 'Urungkan', email yang dihapus akan dipulihkan.

Roti panggang:

Toast dapat digunakan di area di mana pesan Sistem perlu ditampilkan.

Sebagai contoh:

Ketika Aplikasi Anda mencoba mengunduh JSON dari server jarak jauh tetapi gagal karena Server Timeout atau Tidak ada sumber daya yang ditemukan, Anda hanya perlu menampilkan pesan kesalahan yang mengatakan bahwa 'Terjadi Kesalahan'. Tapi mengerti pesan Toast tidak bisa ditutup dengan menggesek. Jika Anda masih ingin memiliki kemampuan untuk menutupnya di Aplikasi Anda, pilih SnackBar.

Dhaval Jivani
sumber
13

Menurut dokumentasi resmi di ikhtisar pesan Pop-up :

Catatan: Kelas Snackbar menggantikan Toast . Meskipun Toast saat ini masih didukung, Snackbar sekarang menjadi cara yang disukai untuk menampilkan pesan singkat dan sementara kepada pengguna.

dan dokumentasi (Desain Material) Snackbars :

Konsep terkait: Android juga menyediakan kelas Toast dengan API serupa yang bisa digunakan untuk menampilkan pemberitahuan tingkat sistem. Umumnya, snackbar adalah mekanisme yang lebih disukai untuk menampilkan pesan masukan kepada pengguna, karena dapat ditampilkan dalam konteks UI tempat tindakan terjadi. Reservasi Toast untuk kasus di mana hal ini tidak dapat dilakukan.

lcnicolau.dll
sumber
2

Spesifikasi Desain Material Google mengatakan bahwa tidak masalah memiliki Snackbar tanpa tindakan. Mereka telah memberikan contoh seperti apa tampilan Snackbar jika hanya menampilkan satu String. Saya berasumsi bahwa "Perpesanan Sistem" berarti peristiwa perangkat seperti koneksi jaringan yang hilang - sedangkan mengarsipkan email adalah tindakan khusus Gmail, misalnya.

Demi konsistensi, masuk akal untuk memilih Toast atau Snackbar, dan menerapkannya di seluruh aplikasi Anda.

kunci fraktal
sumber
1
Tautan itu telah berpindah: material.io/design/components/snackbars.html
Antonio Vinicius Menezes Medei
1

Jawaban singkatnya adalah bahwa itu adalah 2 cara untuk mengkomunikasikan hal-hal yang terjadi di latar belakang kepada pengguna, dan Anda dapat memuncak salah satunya, keduanya baik-baik saja. Pastikan Anda menggunakan yang sama dan tidak beralih di antara keduanya.

Jawaban panjangnya:

  • Tidak, itu berarti jika Anda membutuhkan tindakan, Anda harus menggunakan Snackbar. Anda masih dapat menggunakan Snackbar hanya untuk pesan (seperti "Pengunggahan selesai").
  • Yang dimaksud dengan "sistem" tidak hanya berarti sistem Android. Misalnya- jika ada masalah penguraian json saat mendapatkan info dari server Anda, Anda masih dapat menggunakan toast untuk memberi tahu pengguna ada masalah saat berkomunikasi dengan server.
  • Jika Anda benar-benar perlu menghapus ini, itu pasti alasan untuk memilih Snackbar
shem
sumber
1

Tim desain kami juga sedang mempertimbangkan untuk menggunakan roti panggang atau snackbar. Kami sampai pada kesimpulan bahwa aplikasi harus menggunakan snackbar mengingat fleksibilitasnya.

Toast sebaiknya hanya digunakan saat kita membutuhkan pesan info yang berisi string pendek dan persisten yang masih masuk akal di berbagai layar.

Vennsoh
sumber
1

Perbedaan antara Toast dan Snackbar Android

  • Pesan Toast dapat disesuaikan dan dicetak di mana saja di layar, tetapi Snackbar hanya dapat ditampilkan di bagian bawah layar.
  • Pesan Toast tidak memiliki tombol tindakan, tetapi Snackbar mungkin memiliki tombol tindakan secara opsional.
  • Pesan Toast tidak dapat dinonaktifkan hingga batas waktu selesai, tetapi Snackbar dapat dihapus sebelum batas waktu.
  • Anda dapat mengatur berapa lama pesan akan ditampilkan menggunakan tiga nilai berbeda ini.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

Pemakaian

Roti panggang

Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

Snackbar

Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);
snackbar.show();
Velmurugan Murugesan
sumber
0

Android juga menyediakan roti panggang berbentuk kapsul, terutama digunakan untuk perpesanan sistem.

Menurut saya, dengan "perpesanan sistem", mereka juga merujuk pada fakta bahwa toast akan ditampilkan untuk waktu tertentu dan tidak dapat ditutup bahkan jika pengguna menavigasi ke seluruh aktivitas dan bahkan jika aplikasi dipindahkan ke latar belakang.

Saya menganggapnya sebagai keuntungan dari snackbar untuk membatasi ruang lingkupnya pada suatu aktivitas dan dapat mengabaikannya.

Peter F.
sumber