Membuat dan menampilkan pesan pop-up

Mencoba cara Compose
Jetpack Compose adalah toolkit UI yang direkomendasikan untuk Android. Pelajari cara menambahkan notifikasi di Compose.

Anda dapat menggunakan Snackbar hingga menampilkan pesan singkat kepada pengguna. Tidak suka Notifikasi, pesan akan hilang secara otomatis setelah beberapa saat. Snackbar adalah ideal untuk pesan singkat yang tidak perlu ditindaklanjuti oleh pengguna. Sebagai contoh, aplikasi email dapat menggunakan Snackbar untuk memberi tahu pengguna bahwa aplikasi berhasil mengirim email.

Menggunakan CoordinatorLayout

Snackbar dilampirkan ke tampilan. Snackbar menyediakan fungsionalitas dasar jika melekat pada objek apa pun yang berasal dari Class View, seperti salah satu objek tata letak umum. Namun, jika Snackbar dilampirkan ke CoordinatorLayout, Snackbar akan mendapatkan fitur tambahan:

  • Pengguna dapat menutup Snackbar dengan menggesernya keluar.
  • Tata letak memindahkan elemen UI lainnya saat Snackbar muncul. Misalnya, jika tata letak memiliki FloatingActionButton, tata letak memindahkan tombol ke atas saat menampilkan Snackbar, sebagai gantinya menggambar Snackbar di atas tombol. Anda dapat melihat bagaimana tampilannya pada gambar 1.

Class CoordinatorLayout menyediakan superset dari fungsionalitas FrameLayout. Jika aplikasi Anda sudah menggunakan FrameLayout, Anda dapat mengganti tata letak tersebut dengan CoordinatorLayout untuk mengaktifkan Snackbar fungsionalitasnya. Jika aplikasi Anda menggunakan objek tata letak lain, gabungkan tata letak yang ada elemen di CoordinatorLayout, seperti ditunjukkan di bawah ini contoh:

<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>

Setel tag android:id untuk CoordinatorLayout Anda. Anda memerlukan ID tata letak saat menampilkan pesan.

Gambar 1. CoordinatorLayout memindahkan elemen FloatingActionButton naik saat Snackbar muncul.

Menampilkan pesan

Ada dua langkah untuk menampilkan pesan. Pertama, Anda membuat Objek Snackbar dengan teks pesan. Kemudian, panggil objek show() untuk menampilkan pesan kepada pengguna.

Membuat objek Snackbar

Buat objek Snackbar dengan memanggil kode statis Snackbar.make() . Saat membuat Snackbar, tentukan pesan yang akan ditampilkan dan durasi waktu pesan ditampilkan:

Kotlin

val mySnackbar = Snackbar.make(view, stringId, duration)

Java

Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
lihat
Tampilan untuk melampirkan Snackbar. Metode ini mencari objek hierarki tampilan dari tampilan yang diteruskan hingga mencapai CoordinatorLayout atau tampilan konten dekorasi jendela. Biasanya, lebih mudah untuk meneruskan CoordinatorLayout yang menyertakan konten Anda.
stringId
ID resource pesan yang ingin Anda tampilkan. Data ini dapat diformat atau teks tidak berformat.
tonton
Durasi waktu untuk menampilkan pesan. Dapat berupa LENGTH_SHORT atau LENGTH_LONG.

Menampilkan pesan kepada pengguna

Setelah membuat Snackbar, panggil show() untuk menampilkan Snackbar kepada pengguna:

Kotlin

mySnackbar.show()

Java

mySnackbar.show();

Sistem tidak menampilkan beberapa objek Snackbar sekaligus sehingga jika tampilan saat ini menampilkan Snackbar lainnya, sistem mengantrekan Snackbar Anda dan menampilkannya setelah Snackbar akan berakhir atau ditutup.

Jika Anda ingin menampilkan pesan kepada pengguna dan tidak perlu memanggil salah satu metode utilitas objek Snackbar, Anda tidak perlu menyimpan referensi ke Snackbar setelah Anda memanggil show(). Sebagai alasan ini, adalah hal biasa untuk menggunakan rantai metode untuk membuat dan menampilkan Snackbar dalam satu pernyataan:

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();