Faire glisser pour masquer
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
L'animation Swipe to dismiss (Balayer pour ignorer) permet de transmettre la transition lorsque les utilisateurs accèdent à la page précédente.
Les détails de l'animation à balayer pour ignorer sont semblables à l'appui RSB. Votre doigt contrôle la progression de l'animation jusqu'à 50 %.
Il existe une animation supplémentaire sur l'affichage de l'application qui est liée au geste d'abandon. La quantité de mouvements affichée dans la vue de l'application n'est pas exactement identique à la distance nécessaire pour déplacer le doigt. L'affichage de l'application ne doit jamais quitter le bord de l'écran et doit avoir un effet de pression avec une légère résistance.
Implémentation
SwipeDismissableNavHost
de la bibliothèque de navigation fournit par défaut le geste de navigation "Balayer pour fermer".
Si vous n'utilisez pas la bibliothèque de navigation, vous pouvez toujours prendre en charge ce geste de navigation en plein écran en utilisant directement BasicSwipeToDismissBox
.
Conception
Lorsque vous concevez l'action de balayage pour ignorer, tenez compte des deux principes suivants :
Bord de l'écran
Tenez compte des autres éléments d'interface utilisateur à faire glisser, tels que les affichages d'application paginés.
Lorsque vous pouvez balayer l'écran pour ignorer, réservez 20 % du bord de l'écran pour déclencher ce mouvement.
Consultez cet exemple du code de base Compose Material pour Wear OS pour voir un exemple de balayage par le bord lorsqu'il est possible de faire défiler le contenu horizontalement.
Seuil nécessaire pour revenir en arrière ou rester dans la vue de l'application
Si l'utilisateur a fait glisser son doigt sur plus de 50 % de la largeur de l'écran, l'application doit déclencher le reste de l'animation de balayage. Si ce n'est pas le cas, l'application devrait revenir à la vue complète de l'application.
Si le geste est rapide, ignorez la règle du seuil de 50 % et balayez l'écran.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]