Scorri per ignorare
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'animazione Scorri per chiudere
trasmette la transizione quando gli utenti passano alla pagina precedente.
I dettagli dell'animazione per scorrere per chiudere sono simili a quelli della pressione del tasto RSB. Il
tuo dito controlla l'avanzamento dell'animazione fino al 50%.
Nella visualizzazione dell'app è presente un'animazione aggiuntiva collegata al gesto di chiusura. L'entità del movimento mostrata nella visualizzazione dell'app non corrisponde esattamente alla distanza che deve percorrere il dito. La visualizzazione dell'app non deve mai uscire dal
bordo dello schermo, mostrando un effetto di compressione con una certa resistenza.
Implementazione
SwipeDismissableNavHost
dalla libreria di navigazione
fornisce il gesto di navigazione con scorrimento per ignorare per impostazione predefinita.
Se non utilizzi la libreria di navigazione, puoi comunque supportare questo gesto di navigazione a schermo intero utilizzando direttamente BasicSwipeToDismissBox
.
Design
Quando progetti l'azione di scorrimento per chiudere, tieni presente i seguenti due principi:
Bordo dello schermo
Prendi in considerazione altri elementi dell'interfaccia utente scorrevoli, come le visualizzazioni delle app impaginate.
Quando è possibile ignorare lo scorrimento, riserva il 20% del bordo dello schermo per
attivare il movimento.
Guarda questo esempio tratto dal codebase Compose Material per Wear OS
per un esempio di scorrimento dei bordi quando i contenuti sono scorrevoli orizzontalmente.
Soglia per tornare indietro o rimanere nella visualizzazione dell'app
Se l'utente ha trascinato il dito su oltre il 50% della larghezza dello schermo,
l'app deve attivare il resto dell'animazione di scorrimento verso il retro. Se è inferiore, l'app dovrebbe tornare alla visualizzazione completa dell'app.
Se il gesto è rapido, ignora la regola della soglia del 50% e scorri indietro.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]