Navigasi

Setelah mendesain layar individual untuk setiap perjalanan pengguna, Anda mungkin memiliki beberapa layar vertikal atau tunggal. Selanjutnya, Anda harus memutuskan cara mendesain layar-layar tersebut agar dapat bekerja sama dan cara menerapkan navigasi.

Desain

Pertahankan hierarki aplikasi yang dangkal dan linear, seperti yang dijelaskan dalam panduan desain aplikasi.

Untuk memulai, peluncur aplikasi Anda harus membuka perjalanan pengguna yang paling umum. Desain setiap perjalanan pengguna dengan konten terpenting di bagian atas. Untuk penampung vertikal, gunakan bagian bawah untuk menautkan ke perjalanan pengguna lain yang kurang umum dan setelan.

Gambar 1. Tempatkan konten yang paling penting di bagian atas penampung vertikal.

Saat pengguna memasuki salah satu layar Anda, pastikan mereka dapat menggunakan gestur geser-untuk-menutup guna membuka data sebelumnya.

Mengimplementasikan navigasi

Saat menerapkan navigasi, Anda memiliki tiga opsi, yang dijelaskan di bagian berikut:

  • Aktivitas saja, yang merupakan pendekatan yang direkomendasikan
  • Aktivitas dan fragmen
  • Jetpack Navigation

Hanya aktivitas

Karena layar vertikal biasanya sedalam satu tingkat, Anda dapat menerapkan semua layar menggunakan aktivitas dan tanpa menggunakan fragmen.

Kami sangat menyarankan pendekatan ini. Tindakan ini menyederhanakan kode Anda, dan aktivitas secara otomatis mendukung geser-untuk-menutup. Hal ini juga mempermudah penerapan mode standby.

Catatan: Buat aktivitas Anda mewarisi dari ComponentActivity jika Anda tidak menggunakan fragmen. Jenis aktivitas lainnya menggunakan elemen UI khusus seluler yang tidak diperlukan untuk Wear OS.

Aktivitas dan fragmen

Anda dapat menggunakan fragmen dengan aktivitas di aplikasi Wear OS. Namun, kami tidak merekomendasikannya, karena tidak ada keuntungan jelas menggunakan fragmen untuk membuat arsitektur yang dangkal dan datar.

Catatan: Jika Anda menggunakan fragmen, buat fragmen tersebut mewarisi dari FragmentActivity. Jenis aktivitas lainnya menggunakan elemen UI khusus seluler yang tidak diperlukan untuk Wear OS.

Beberapa kesulitan dalam menggunakan fragmen di aplikasi Wear OS meliputi hal berikut:

  • Anda harus menerapkan geser-untuk-menutup sendiri. Jika tidak, saat melakukan geser, pengguna akan keluar dari seluruh aplikasi.
  • Jika menggunakan AmbientMode, Anda harus menyesuaikannya agar berfungsi dengan benar. AmbientMode ditetapkan pada aktivitas, jadi Anda harus memperhitungkannya saat menerapkan fragmen.

Untuk mendukung geser-untuk-menutup dengan fragmen, Anda harus menggabungkan tampilan yang memuat fragmen dalam class SwipeDismissFrameLayout. Lihat Gestur geser untuk menutup untuk informasi selengkapnya. Melakukan hal ini akan memberikan pengalaman yang konsisten kepada pengguna dengan aplikasi Anda.

Catatan: Saat menggunakan fragmen, gunakan FragmentManager.add , bukan FragmentManager.replace untuk mendukung gestur geser-untuk-menutup. Hal ini membantu memastikan bahwa fragmen Anda yang sebelumnya dirender di bawah fragmen atas saat fragmen sedang digeser.

Jetpack Navigation

Navigasi Jetpack dapat berfungsi di Wear OS, tetapi memiliki kelemahan yang sama dengan fragmen. Hal ini menambah pekerjaan pengembangan dan, karena hierarki aplikasi Wear OS umumnya dangkal dan linear, aplikasi ini tidak menawarkan banyak keuntungan. Pendekatan khusus aktivitas adalah yang terbaik.

Untuk memanfaatkan Navigasi Jetpack sepenuhnya, lakukan hal berikut:

  • Pastikan setiap fragmen menggunakan SwipeDismissFrameLayout sebagai root-nya, dan gunakan tindakan tutup secara manual untuk kembali ke grafik navigasi.
  • Implementasikan FragmentNavigator kustom yang merender fragmen di atas satu sama lain.