Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Gunakan badge untuk menampilkan elemen visual kecil guna menunjukkan status atau nilai numerik pada composable lain. Berikut beberapa skenario umum saat Anda dapat menggunakan badge:
Notifikasi: Menampilkan jumlah notifikasi yang belum dibaca di ikon aplikasi atau lonceng notifikasi.
Pesan: Menunjukkan pesan baru atau belum dibaca dalam aplikasi chat.
Pembaruan status: Menampilkan status tugas, seperti "selesai", "dalam
proses", atau "gagal".
Jumlah keranjang: Menampilkan jumlah item di keranjang belanja pengguna.
Konten baru: Soroti konten atau fitur baru yang tersedia bagi pengguna.
Gambar 1. Contoh badge
Platform API
Gunakan composable BadgedBox untuk menerapkan badge di aplikasi Anda. Pada akhirnya, ini adalah penampung. Anda mengontrol tampilannya dengan dua parameter utama ini:
content: Konten composable yang terdapat dalam BadgedBox. Biasanya
Icon.
badge: Composable yang muncul sebagai badge di atas konten.
Biasanya composable Badge khusus.
Contoh dasar
Cuplikan kode ini menunjukkan implementasi dasar BadgedBox:
Contoh ini menampilkan badge yang tumpang-tindih dengan composable Icon yang diberikan. Perhatikan
hal berikut dalam kode:
BadgedBox berfungsi sebagai container keseluruhan.
Argumen untuk parameter badge dari BadgedBox adalah Badge.
Karena Badge tidak memiliki argumennya sendiri, aplikasi akan menampilkan badge
default, yaitu lingkaran merah kecil.
Icon berfungsi sebagai argumen untuk parameter content dari BadgedBox. Ikon
ini adalah ikon tempat badge muncul. Dalam hal ini, ikonnya adalah ikon email.
Tampilannya seperti ini:
Gambar 2. Penerapan badge minimal.
Contoh mendetail
Cuplikan berikut menunjukkan cara menampilkan nilai dalam badge yang merespons tindakan pengguna.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-30 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-30 UTC."],[],[],null,["Use a [badge](https://m3.material.io/components/badges/overview) to display a small visual element to denote status\nor a numeric value on another composable. Here are a few common scenarios where\nyou might use a badge:\n\n- **Notifications**: Display the number of unread notifications on an app icon or notification bell.\n- **Messages**: Indicate new or unread messages within a chat application.\n- **Status updates**: Show the status of a task, such as \"complete,\" \"in progress,\" or \"failed.\"\n- **Cart quantity**: Display the number of items in a user's shopping cart.\n- **New content**: Highlight new content or features available to the user.\n\n**Figure 1.** Badge examples\n\nAPI surface\n\nUse the [`BadgedBox`](/reference/kotlin/androidx/compose/material3/package-summary#BadgedBox(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1)) composable to implement badges in your application. It\nis ultimately a container. You control its appearance with these two main\nparameters:\n\n- `content`: The composable content that the `BadgedBox` contains. Typically `Icon`.\n- `badge`: The composable that appears as the badge over the content. Typically the dedicated [`Badge`](/reference/kotlin/androidx/compose/material3/package-summary#Badge(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1)) composable.\n\nBasic example\n\nThis code snippet shows a basic implementation of `BadgedBox`:\n\n\n```kotlin\n@Composable\nfun BadgeExample() {\n BadgedBox(\n badge = {\n Badge()\n }\n ) {\n Icon(\n imageVector = Icons.Filled.Mail,\n contentDescription = \"Email\"\n )\n }\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Badges.kt#L62-L74\n```\n\n\u003cbr /\u003e\n\nThis example displays a badge that overlaps the provided `Icon` composable. Note\nthe following in the code:\n\n- [`BadgedBox`](/reference/kotlin/androidx/compose/material3/package-summary#BadgedBox(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1)) serves as the overall container.\n- The argument for the `badge` parameter of `BadgedBox` is [`Badge`](/reference/kotlin/androidx/compose/material3/package-summary#Badge(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1)). Because `Badge` has no arguments of its own, the app displays the default badge, which is a small red circle.\n- `Icon` serves as the argument for the `content` parameter of `BadgedBox`. It is the icon over which the badge appears. In this case, it is a mail icon.\n\nThis is how it appears:\n**Figure 2.** A minimal badge implementation. **Important:** You can pass any composable to the `BadgedBox` composable's content slot. You could therefore create a badge that displays on a `Button`, an `Image`, or any other composable.\n\nDetailed example\n\nThe following snippet demonstrates how you can display values in the badge that\nrespond to user actions.\n\n\n```kotlin\n@Composable\nfun BadgeInteractiveExample() {\n var itemCount by remember { mutableIntStateOf(0) }\n\n Column(\n verticalArrangement = Arrangement.spacedBy(16.dp)\n ) {\n BadgedBox(\n badge = {\n if (itemCount \u003e 0) {\n Badge(\n containerColor = Color.Red,\n contentColor = Color.White\n ) {\n Text(\"$itemCount\")\n }\n }\n }\n ) {\n Icon(\n imageVector = Icons.Filled.ShoppingCart,\n contentDescription = \"Shopping cart\",\n )\n }\n Button(onClick = { itemCount++ }) {\n Text(\"Add item\")\n }\n }\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Badges.kt#L79-L107\n```\n\n\u003cbr /\u003e\n\nThis example implements a shopping cart icon with a badge that displays the\nnumber of items in the user's cart.\n\n- The [`BadgedBox`](/reference/kotlin/androidx/compose/material3/package-summary#BadgedBox(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1)) displays only when the item count is over 0.\n- The arguments for `containerColor` and `contentColor` control the appearance of the badge.\n- The `Text` composable for the content slot of [`Badge`](/reference/kotlin/androidx/compose/material3/package-summary#Badge(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1)) appears within the badge. In this case, it displays the number of items in the cart.\n\nThis implementation appears as follows:\n**Figure 3.** A badge that displays the number of items in a shopping cart.\n\nAdditional resources\n\n- [Material 3 - Badges](https://m3.material.io/components/badges/overview)\n- [`BadgedBox`](/reference/kotlin/androidx/compose/material3/package-summary#BadgedBox(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1))\n- [`Badge`](/reference/kotlin/androidx/compose/material3/package-summary#Badge(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1))"]]