
Kembali prediktif adalah hasil dari operasi navigasi gestur di mana pengguna telah menggeser kembali untuk melihat pratinjau tujuan gestur kembali sebelum sepenuhnya menyelesaikannya. Hal ini memungkinkan pengguna memutuskan apakah akan melanjutkan—dengan kata lain, "berkomitmen" terhadap gestur kembali—atau tetap dalam tampilan saat ini.
Kembali prediktif memberikan pengalaman navigasi yang lebih lancar dan intuitif saat menggunakan navigasi gestur. Solusi ini memanfaatkan animasi bawaan untuk memberi tahu pengguna tempat tindakan mereka akan mengurangi hasil yang tidak terduga.
Gunakan panduan desain di halaman ini jika desain aplikasi Anda memerlukan navigasi kembali untuk transisi dan animasi kustom selama momen penting. Untuk sebagian besar aplikasi, Anda tidak perlu menerapkan navigasi kembali kustom karena animasi kembali prediktif bawaan menunjukkan kepada pengguna ke mana mereka akan pergi.
Dukungan untuk prediktif kembali
Dukungan navigasi kembali prediktif tersedia, baik menggunakan navigasi kembali default maupun kustom. Jika menggunakan navigasi kembali default, Anda dapat memilih untuk ikut serta dalam fitur ini dengan mudah. Baca selengkapnya tentang mendukung kembali prediktif.
Setelah Anda memilih untuk ikut serta, aplikasi Anda telah membuat animasi seperti kembali ke beranda, aktivitas silang, dan lintas tugas.
Anda juga dapat mengupgrade dependensi komponen Material ke 1.10.0-alpha02 atau di atas MDC Android untuk menerima animasi komponen Material berikut:
Desain untuk navigasi gestur
Memastikan aplikasi Anda memiliki dukungan dari tepi ke tepi
Untuk membantu pengguna, navigasi kembali prediktif mematuhi inset gestur yang ditentukan dalam fitur tata letak layar penuh. Hindari menambahkan gestur sentuh atau target tarik di bawah area gestur ini.

Platform layar penuh
Jika aplikasi Anda membuat transisi dalam aplikasi khusus untuk platform layar penuh, gunakan panduan desain ini.
Saat pengguna membuat gestur kembali pada permukaan layar penuh, permukaan sepenuhnya terpisah dari tepi layar selama pratinjau kembali, dan pengguna dapat langsung memanipulasinya. Namun, desain tidak boleh secara visual menyarankan kepada pengguna bahwa menyelesaikan gestur kembali akan menutup item sesuai dengan gestur kembali.
Misalnya, Anda dapat menggunakan transisi platform layar penuh saat menutup layar detail kembali ke daftar vertikal untuk memberi petunjuk visual kepada pengguna bahwa mereka mengurungkan tindakan sebelumnya. Dalam video 1, acara kalender ditutup kembali ke tampilan hari. Untuk meningkatkan ketajaman, desain menambahkan overshoot yang halus untuk menyerap beberapa tegangan pegas yang dibuat selama gestur.
Pratinjau kembali
Saat menampilkan animasi prediktif kepada pengguna, status pra-commit yang dikelola oleh aplikasi Anda mengukur saat pengguna telah melakukan gestur kembali dari tepi ke tepi, tetapi belum meng-commitnya dengan melepaskan. Anda perlu menyediakan parameter yang berlaku untuk status pra-commit ini.
Jumlah gerakan yang ditampilkan didasarkan pada jarak terjauh yang dapat dilalui pengguna dari lokasi awal gestur dimulai.
Spesifikasi gerakan
Platform layar penuh terpengaruh langsung oleh pergeseran x dan y dari awal gestur. Bagian ini menjelaskan spesifikasi dan nilai yang mengatur mekanisme yang digunakan untuk masukan di layar.
Gambar berikut menunjukkan spesifikasi gerakan yang direkomendasikan untuk animasi platform.

1 Margin: 5% dari lebar di kedua sisi (terkait dengan area permukaan yang dijelaskan dalam 3)
2 Perhitungan pergeseran jika menskalakan jendela ke tengah. Hitung untuk margin 8dp yang diperlukan: ((lebar layar / 20) - 8) dp
3 Surface scale to 90% size, left 10% available untuk margin (lihat 1)
4 Sisakan celah 8 dp dari tepi layar
Sebaiknya pertahankan parameter yang tercantum untuk pengalaman yang konsisten, tetapi Anda dapat mengubah spesifikasi untuk membuat animasi kustom.
Pada gambar sebelumnya, lebar layar adalah 1280, yang membuat pergeseran x 56 dp. Rumusnya adalah:
((1280/20)-8)= 56 dp x-shift

1 Spasi antara tepi dan margin perangkat tersedia untuk shift y
2 Jika permukaan bergeser ke luar layar, perkecil permukaan tidak lebih dari 50%.
2 Permukaan dimulai secara vertikal, dengan y-shift ditentukan sebagai berikut:
- Batasi pergeseran y sehingga permukaan tidak pernah melewati margin layar 8 dp
- Agar permukaan tidak tiba-tiba berhenti, gunakan interpolator melambat dan petakan ke batas shift y
3 Pertahankan margin 8 dp setelah permukaan cukup pendek
Untuk animasi kustom, Anda harus menentukan semua parameter berikut.
Parameter |
Nilai |
Konteks |
---|---|---|
Shift X |
((lebar layar / 20) - 8) dp |
Shift maksimum, meninggalkan margin 8dp |
Shift Y |
((tinggi layar yang tersedia / 20) -8) dp |
Shift maksimum, meninggalkan margin 8dp |
Skala |
90% |
Skala minimum ukuran jendela |
Developer yang menerapkan animasi kustom menggunakan Predictive Back Progress API menggunakan parameter ini.
Komitmen untuk bertindak
Saat pengguna melakukan gestur setelah titik commit dan pelepasan, animasi akan ditampilkan yang mengonfirmasi penyelesaian tindakan.
Saat pengguna melakukan gestur dengan cepat, hal ini umumnya ditafsirkan sebagai fling. Jenis interaksi ini dapat menerapkan kecepatan tinggi pada elemen di layar, sehingga dalam konteks pratinjau sebelumnya, sistem menyerap kecepatan tersebut dengan menganimasikan animasi permukaan sesaat ke status pratinjau maksimum sebelum menjalankan animasi commit.
Kekuatan fling menentukan banyaknya animasi pratinjau yang ditampilkan sebelum menjalankan animasi commit. Jenis animasi yang ditampilkan bergantung pada konten yang ditutup, seperti yang ditunjukkan pada video 2.
Batalkan tindakan
Video 4 menampilkan contoh apa yang terjadi saat pengguna merilis sebelum nilai minimum, yang menampilkan animasi yang mengonfirmasi bahwa tindakan telah dibatalkan. Untuk platform layar penuh, jendela bergerak cepat dan kembali ke status tepi-ke-tepi aslinya sebelum gestur dimulai.