Composable PredictiveBackHandler
di Jetpack Compose memungkinkan Anda
mencegat gestur kembali dan mengakses progresnya. Anda dapat bereaksi terhadap gestur
kembali pengguna secara real time, membuat animasi atau perilaku kustom berdasarkan
jarak geser pengguna.
Untuk menggunakan PredictiveBackHandler
, pastikan Anda menggunakan
androidx.activity:activity:1.6.0
atau yang lebih tinggi.
PredictiveBackHandler
menyediakan Flow<BackEventCompat>
yang memunculkan peristiwa
yang mewakili progres gestur kembali. Setiap peristiwa berisi informasi
seperti:
progress
: Nilai float antara 0 dan 1 yang menunjukkan progres gestur kembali (0 = gestur dimulai, 1 = gestur selesai).touchX
dantouchY
: Koordinat X dan Y peristiwa sentuh.
Cuplikan berikut menunjukkan penggunaan dasar 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 } }
Contoh: Mengintegrasikan dengan panel navigasi
Contoh ini menunjukkan cara menerapkan animasi dalam aplikasi kustom menggunakan PredictiveBackHandler
untuk membuat interaksi yang lancar dengan panel samping
navigasi sebagai respons terhadap gestur kembali di JetLagged:
Dalam contoh ini, PredictiveBackHandler
digunakan untuk:
- Melacak progres gestur kembali.
- Perbarui
translationX
panel samping berdasarkan progres gestur. - Gunakan
velocityTracker
untuk membuka atau menutup panel samping dengan lancar berdasarkan kecepatan gestur saat gestur selesai atau dibatalkan.