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 seberapa jauh pengguna menggeser.
Untuk menggunakan PredictiveBackHandler
, pastikan Anda menggunakan
androidx.activity:activity:1.6.0
atau yang lebih tinggi.
PredictiveBackHandler
menyediakan Flow<BackEventCompat>
yang memancarkan 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 throw e } }
Contoh: Mengintegrasikan dengan panel navigasi
Contoh ini menunjukkan cara menerapkan animasi dalam aplikasi kustom menggunakan PredictiveBackHandler
untuk membuat interaksi yang lancar dengan panel navigasi sebagai respons terhadap gestur kembali di JetLagged:
Dalam contoh ini, PredictiveBackHandler
digunakan untuk:
- Melacak progres gestur kembali.
- Perbarui
translationX
laci berdasarkan progres gestur. - Gunakan
velocityTracker
untuk membuka atau menutup panel samping dengan lancar berdasarkan kecepatan gestur saat gestur selesai atau dibatalkan.