Menerapkan navigasi layar

Aplikasi sering kali menyajikan sejumlah layar yang berbeda, masing-masing mungkin menggunakan template yang berbeda yang dapat dilihat pengguna saat mereka berinteraksi dengan antarmuka.

Class ScreenManager menyediakan stack layar yang dapat Anda gunakan untuk mendorong layar yang dapat muncul secara otomatis saat pengguna memilih tombol Kembali di layar mobil atau menggunakan tombol Kembali hardware yang tersedia di beberapa mobil.

Kode ini menunjukkan cara menambahkan tindakan kembali ke template pesan serta tindakan untuk mendorong layar baru saat dipilih oleh pengguna:

Kotlin

val template = MessageTemplate.Builder("Hello world!")
     .setHeaderAction(Action.BACK)
     .addAction(
         Action.Builder()
             .setTitle("Next screen")
             .setOnClickListener { screenManager.push(NextScreen(carContext)) }
             .build())
     .build()

Java

MessageTemplate template = new MessageTemplate.Builder("Hello world!")
    .setHeaderAction(Action.BACK)
    .addAction(
        new Action.Builder()
            .setTitle("Next screen")
            .setOnClickListener(
                () -> getScreenManager().push(new NextScreen(getCarContext())))
            .build())
    .build();

Objek Action.BACK adalah Action standar yang secara otomatis memanggil ScreenManager.pop. Perilaku ini dapat diganti dengan menggunakan instance OnBackPressedDispatcher yang tersedia dari CarContext.

Untuk mempromosikan mengemudi yang aman, stack layar tidak boleh terdiri dari lebih dari lima layar. Untuk mempelajari lebih lanjut, lihat Pembatasan template.