Menyiapkan Kembali prediktif

Animasi sistem dan kembali prediktif diaktifkan secara default. Jika aplikasi Anda mengintersepsi peristiwa kembali dan Anda belum bermigrasi ke kembali prediktif, update aplikasi Anda untuk menggunakan API navigasi kembali yang didukung.

Animasi kembali prediktif untuk kembali ke layar utama.
Animasi lintas aktivitas prediktif.
Animasi lintas tugas prediktif.

Mengaktifkan animasi sistem default

Animasi sistem kembali ke layar utama, lintas aktivitas, dan lintas tugas tersedia di perangkat Android 15 dan yang lebih baru untuk aplikasi yang telah dimigrasikan ke API penanganan kembali yang didukung.

  • Kembali ke layar utama: Mengembalikan pengguna ke layar utama.
  • Lintas aktivitas: Transisi antar-aktivitas dalam aplikasi.
  • Lintas tugas: Transisi antar-tugas.

Animasi ini diaktifkan secara default di Android 15 dan yang lebih baru. Di perangkat yang menjalankan Android 13 atau 14, pengguna dapat mengaktifkannya melalui Opsi developer.

Untuk mendapatkan animasi sistem, update dependensi Activity AndroidX Anda ke 1.6.0 atau yang lebih tinggi.

Mengaktifkan kembali prediktif dengan Navigation Compose

Untuk menggunakan kembali prediktif di Navigation Compose, pastikan Anda menggunakan library navigation-compose 2.8.0 atau yang lebih tinggi.

Navigation Compose otomatis melakukan cross-fade antar-layar saat pengguna menggeser kembali:

Gambar 2. Animasi crossfade dalam aplikasi default di SociaLite.

Saat menavigasi, Anda dapat membuat transisi kustom dengan popEnterTransition dan popExitTransition. Saat diterapkan ke NavHost, pengubah ini memungkinkan Anda menentukan cara layar masuk dan keluar dianimasikan. Anda dapat menggunakannya untuk membuat berbagai efek, seperti penskalaan, pudar, atau geser.

Dalam contoh ini, scaleOut digunakan dalam popExitTransition untuk memperkecil skala layar keluar saat pengguna kembali. Selain itu, parameter transformOrigin menentukan di titik saat animasi penskalaan terjadi. Secara default, titik tersebut ada di tengah layar (0.5f, 0.5f). Anda dapat menyesuaikan nilai ini untuk membuat penskalaan berasal dari titik lain.

NavHost(
    navController = navController,
    startDestination = Home,
    popExitTransition = {
        scaleOut(
            targetScale = 0.9f,
            transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f)
        )
    },
    popEnterTransition = {
        EnterTransition.None
    },
    modifier = modifier,
)

Kode ini memberikan hasil berikut:

Gambar 3. Animasi dalam aplikasi kustom di SociaLite.

popEnterTransition dan popExitTransition secara khusus mengontrol animasi saat memunculkan data sebelumnya, misalnya dengan gestur kembali. Anda juga dapat menggunakan enterTransition dan exitTransition untuk menentukan animasi saat masuk dan keluar composable secara umum, tidak hanya untuk kembali prediktif. Jika Anda hanya menetapkan enterTransition dan exitTransition, keduanya akan digunakan untuk navigasi reguler dan memunculkan data sebelumnya. Namun, menggunakan popEnterTransition dan popExitTransition memungkinkan Anda membuat animasi yang berbeda untuk navigasi kembali.

Mengintegrasikan dengan transisi elemen bersama

Transisi elemen bersama memberikan koneksi visual yang lancar antara composable dengan konten bersama, yang sering digunakan untuk navigasi.

Gambar 4. Transisi elemen bersama dengan kembali prediktif di Navigation Compose.

Untuk menggunakan elemen bersama dengan Navigation Compose, lihat Kembali prediktif dengan elemen bersama.

Mendukung kembali prediktif dengan komponen Compose Material

Banyak komponen di library Material Compose dirancang agar berfungsi dengan lancar dengan gestur kembali prediktif. Untuk mengaktifkan animasi kembali prediktif dalam komponen ini, sertakan dependensi Material3 terbaru (androidx.compose.material3:material3-*:1.3.0 atau yang lebih tinggi) dalam project Anda.

Komponen Material yang mendukung animasi kembali prediktif meliputi:

SearchBar dan ModalBottomSheet secara otomatis menganimasikan dengan gestur kembali prediktif. ModalNavigationDrawer, ModalDrawerSheet, DismissibleDrawerSheet, dan DismissibleNavigationDrawer mengharuskan Anda meneruskan drawerState ke composable konten sheet masing-masing.

Menguji animasi gestur kembali prediktif

Jika masih menggunakan Android 13 atau Android 14, Anda dapat menguji animasi kembali ke layar utama.

Untuk menguji animasi ini, ikuti langkah-langkah berikut:

  1. Di perangkat, buka Setelan > Sistem > Opsi developer.
  2. Pilih Animasi kembali prediktif.
  3. Luncurkan aplikasi yang telah diupdate, dan gunakan gestur kembali untuk melihat cara kerjanya.

Di Android 15 dan yang lebih baru, fitur ini diaktifkan secara default.

Referensi lainnya