Le composable PredictiveBackHandler
de Jetpack Compose vous permet d'intercepter le geste Retour et d'accéder à sa progression. Vous pouvez réagir au geste de retour de l'utilisateur en temps réel, en créant des animations ou des comportements personnalisés en fonction de la distance parcourue par l'utilisateur.
Pour utiliser PredictiveBackHandler
, assurez-vous d'utiliser androidx.activity:activity:1.6.0
ou une version ultérieure.
PredictiveBackHandler
fournit un Flow<BackEventCompat>
qui émet des événements représentant la progression du geste Retour. Chaque événement contient des informations telles que les suivantes:
progress
: valeur flottante comprise entre 0 et 1 indiquant la progression du geste Retour (0 = geste commencé, 1 = geste terminé).touchX
ettouchY
: coordonnées X et Y de l'événement tactile.
L'extrait de code suivant montre une utilisation de base de PredictiveBackHandler
:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
Exemple: Intégrer une barre latérale de navigation
Cet exemple montre comment implémenter une animation personnalisée dans l'application à l'aide de PredictiveBackHandler
pour créer une interaction fluide avec un panneau de navigation en réponse aux gestes Retour dans JetLagged:
Dans cet exemple, PredictiveBackHandler
permet de:
- Suivez la progression du geste Retour.
- Mettez à jour le
translationX
du panneau latéral en fonction de la progression du geste. - Utilisez un
velocityTracker
pour ouvrir ou fermer le panneau de manière fluide en fonction de la vitesse du geste lorsque le geste est terminé ou annulé.