Geser untuk menutup
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Animasi geser untuk menutup
menunjukkan transisi saat pengguna membuka halaman sebelumnya.
Detail animasi geser untuk menutup mirip dengan mekanisme tekan RSB. Jari
Anda mengontrol progres animasi hingga 50%.
Ada animasi tambahan di Tampilan Aplikasi yang ditautkan ke gestur
tutup. Jumlah gerakan yang ditampilkan pada tampilan aplikasi tidak sama persis
dengan jarak yang diperlukan oleh jari untuk bergerak. Tampilan aplikasi tidak boleh keluar
dari tepi layar karena akan menampilkan efek seperti tekanan di kedua sisi yang kuat.
Implementasi
SwipeDismissableNavHost
dari library navigasi
menyediakan gestur navigasi geser-untuk-menutup secara default.
Jika tidak menggunakan library navigasi, Anda masih dapat mendukung gestur navigasi
layar penuh ini dengan menggunakan BasicSwipeToDismissBox
secara langsung.
Desain
Saat mendesain tindakan geser untuk menutup, perhatikan
dua prinsip berikut:
Tepi layar
Akun untuk elemen UI lainnya yang dapat digeser, seperti tampilan aplikasi dengan penomoran halaman.
Jika geser untuk menutup bisa dilakukan, sisihkan 20% dari tepi layar untuk
memicu gerakan tersebut.
Lihat contoh dari Compose Material untuk codebase Wear OS
untuk contoh geser tepi saat konten dapat di-scroll secara horizontal.
Nilai minimum untuk kembali atau tetap dalam tampilan aplikasi
Jika pengguna telah menarik jari lebih dari 50% lebar layar,
aplikasi harus memicu animasi geser kembali lainnya. Jika lebih kecil dari
ukuran tersebut, aplikasi harus kembali ke tampilan aplikasi lengkap.
Jika gesturnya cepat, abaikan aturan nilai minimum 50% dan geser ke belakang.
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-07-27 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-07-27 UTC."],[],[],null,["# Swipe to dismiss\n\n[Swipe to dismiss](/reference/kotlin/androidx/wear/compose/foundation/package-summary#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2))\nanimation conveys the transition when users navigate to the previous page.\n\nThe animation details for swipe to dismiss are similar to the RSB press. Your\nfinger controls the progress of the animation up to 50%.\n\nThere is an additional animation on the App View that is linked to the dismiss\ngesture. The amount of movement shown on the app view is not exactly the same as\nthe distance that the finger needs to move. The app view should never leave the\nedge of the screen, displaying a squeeze like effect with some resistance.\n\nImplementation\n--------------\n\n[`SwipeDismissableNavHost`](/reference/kotlin/androidx/wear/compose/navigation/package-summary#SwipeDismissableNavHost(androidx.navigation.NavHostController,kotlin.String,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.wear.compose.navigation.SwipeDismissableNavHostState,kotlin.String,kotlin.Function1))\nfrom the [navigation library](/training/wearables/compose/navigation)\nprovides the swipe-to-dismiss navigation gesture by default.\n\nIf you are not using the navigation library, then you can still support this full\nscreen navigation gesture by using [`BasicSwipeToDismissBox`](/reference/kotlin/androidx/wear/compose/foundation/package-summary#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2))\ndirectly.\n\nDesign\n------\n\nWhen designing the swipe to dismiss action, keep the following two principles\nin mind:\n\n### Edge of the screen\n\nAccount for other UI elements that are swipable, such as paginated app views.\nWhen swipe to dismiss is possible, reserve 20% of the edge of the screen to\ntrigger that motion.\n\nSee this [example from the Compose Material for Wear OS codebase](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/SwipeToDismissBoxSample.kt;l=151)\nfor an example of edge-swiping when the content is horizontally scrollable.\n\n### Threshold to go back or stay on app view\n\nIf the user has dragged their finger across over 50% of the screen width,\nthe app should trigger the rest of the swipe back animation. If it's less than\nthat, the app should snap back to the full app view.\n\nIf the gesture is quick, ignore the 50% threshold rule and swipe back."]]