Di chuyển

Sau khi thiết kế từng màn hình cho từng hành trình của người dùng, bạn có thể có một số màn hình dọc hoặc màn hình đơn. Tiếp theo, bạn phải quyết định cách thiết kế những màn hình này để cùng hoạt động, cũng như cách triển khai thông tin điều hướng.

Thiết kế

Giữ hệ phân cấp cửa ứng dụng ở mức nông và tuyến tính như nêu trong nguyên tắc thiết kế ứng dụng.

Để bắt đầu, trình chạy của ứng dụng phải mở hành trình phổ biến nhất của người dùng. Thiết kế mỗi hành trình của người dùng với nội dung quan trọng nhất ở trên cùng. Đối với các vùng chứa dọc, hãy sử dụng phần dưới cùng để liên kết với các hành trình khác ít phổ biến hơn của người dùng, cũng như các chế độ cài đặt.

Hình 1. Giữ nội dung quan trọng nhất ở đầu các vùng chứa dọc.

Khi người dùng truy cập vào một trong các màn hình của bạn, hãy đảm bảo họ có thể sử dụng cử chỉ vuốt để bỏ qua để di chuyển xuống ngăn xếp lui.

Di chuyển

Khi di chuyển, bạn có 3 tuỳ chọn như được mô tả trong các phần sau:

  • Chỉ hoạt động (phương pháp đề xuất)
  • Hoạt động và mảnh
  • Điều hướng Jetpack

Chỉ hoạt động

Vì màn hình dọc thường có độ sâu một cấp nên bạn có thể triển khai tất cả các màn hình của mình bằng các hoạt động mà không cần dùng mảnh.

Bạn thực sự nên dùng phương pháp này. Phương pháp này giúp đơn giản hoá mã của bạn, đồng thời các hoạt động sẽ tự động hỗ trợ cử chỉ vuốt để bỏ qua. Phương pháp này cũng khiến việc triển khai chế độ môi trường xung quanh trở nên đơn giản hơn.

Lưu ý: Hãy làm cho các hoạt động của bạn kế thừa từ một ComponentActivity nếu bạn đang sử dụng mảnh. Các loại hoạt động khác sử dụng phần tử trên giao diện người dùng dành riêng cho thiết bị di động mà bạn không cần cho thiết bị Wear OS.

Hoạt động và mảnh

Bạn có thể dùng mảnh có các hoạt động trong ứng dụng Wear OS. Tuy nhiên, bạn không nên dùng tuỳ chọn này vì không có lợi ích rõ ràng khi sử dụng các mảnh để tạo kiến trúc nông và phẳng.

Lưu ý: Nếu bạn đang sử dụng mảnh, hãy làm cho chúng kế thừa từ FragmentActivity. Các loại hoạt động khác sử dụng phần tử trên giao diện người dùng dành riêng cho thiết bị di động mà bạn không cần cho thiết bị Wear OS.

Một số khó khăn khi sử dụng các mảnh trong ứng dụng Wear OS như sau:

  • Bạn phải tự vuốt để bỏ qua. Nếu không, khi người dùng thực hiện thao tác vuốt, họ sẽ thoát toàn bộ ứng dụng.
  • Nếu đang sử dụng AmbientMode, bạn phải tuỳ chỉnh nó để hoạt động bình thường. AmbientMode được thiết lập cho hoạt động này nên bạn phải tính đến điều đó khi triển khai mảnh.

Nhằm hỗ trợ cử chỉ vuốt để bỏ qua với các mảnh, bạn phải gói khung hiển thị chứa mảnh vào lớp SwipeDismissFrameLayout. Xem phần Cử chỉ vuốt để bỏ qua để biết thêm thông tin. Khi bạn làm như vậy, người dùng có thể nhận được trải nghiệm nhất quán với ứng dụng của bạn.

Lưu ý: Khi sử dụng các mảnh, hãy dùng FragmentManager.add thay vì FragmentManager.replace để hỗ trợ cử chỉ vuốt để bỏ qua. Việc này giúp đảm bảo rằng mảnh đang hoạt động trước đó hiện dưới mảnh trên cùng sau khi mảnh này bị vuốt mất.

Điều hướng Jetpack

Tuỳ chọn Điều hướng Jetpack có thể hoạt động trên Wear OS nhưng có những hạn chế tương tự như các mảnh. Tuỳ chọn này bổ sung cho công việc phát triển và do hệ phân cấp của ứng dụng Wear OS thường nông và tuyến tính nên tuỳ chọn này không mang lại nhiều lợi thế. Phương pháp chỉ hoạt động là phương pháp phù hợp nhất.

Để tận dụng tối đa tuỳ chọn Điều hướng Jetpack, hãy làm như sau:

  • Đảm bảo mỗi mảnh sử dụng một SwipeDismissFrameLayout làm gốc và tự thực hiện thao tác bỏ qua để quay lại biểu đồ điều hướng.
  • Triển khai một FragmentNavigator tuỳ chỉnh để hiển thị các mảnh chồng lên nhau.