Điều hướng 3

Navigation 3 là một thư viện điều hướng được thiết kế để hoạt động với Compose. Với Navigation 3, bạn có toàn quyền kiểm soát ngăn xếp lui và điều hướng giữa các đích đến bằng cách thêm và xoá các mục khỏi danh sách. Thành phần này tạo ra một hệ thống điều hướng ứng dụng linh hoạt bằng cách cung cấp:

  • Quy ước để lập mô hình ngăn xếp lui, trong đó mỗi mục nhập trên ngăn xếp lui đại diện cho nội dung mà người dùng đã chuyển đến
  • Giao diện người dùng tự động cập nhật theo các thay đổi về ngăn xếp lui (bao gồm cả ảnh động)
  • Phạm vi cho các mục trong ngăn xếp lui, cho phép giữ lại trạng thái trong khi một mục nằm trong ngăn xếp lui
  • Hệ thống bố cục thích ứng cho phép hiển thị nhiều đích đến cùng một lúc, giúp chuyển đổi liền mạch giữa các bố cục đó
  • Cơ chế để nội dung giao tiếp với bố cục mẹ (siêu dữ liệu)
  • Giao tiếp giữa các đích đến để trả về kết quả giữa các màn hình

Nhìn chung, bạn triển khai Navigation 3 theo những cách sau:

  1. Xác định nội dung mà người dùng có thể chuyển đến trong ứng dụng của bạn, mỗi nội dung có một khoá riêng biệt và thêm một hàm để phân giải khoá đó thành nội dung. Xem phần Giải quyết khoá cho nội dung.
  2. Tạo một ngăn xếp lui để đẩy khoá vào và xoá khoá khi người dùng di chuyển trong ứng dụng của bạn. Xem bài viết Tạo ngăn xếp lui.
  3. Sử dụng NavDisplay để hiển thị ngăn xếp lui của ứng dụng. Bất cứ khi nào ngăn xếp lui thay đổi, ngăn xếp này sẽ cập nhật giao diện người dùng để hiển thị nội dung liên quan. Xem phần Hiển thị ngăn xếp lui.
  4. Sửa đổi chiến lược cảnh của NavDisplay nếu cần để hỗ trợ bố cục thích ứng và nhiều nền tảng.
  5. Hỗ trợ đường liên kết sâu để chuyển thẳng đến đích.

Bạn có thể xem mã nguồn đầy đủ cho Navigation 3 trên AOSP.

Cải tiến về Jetpack Navigation

Navigation 3 cải thiện API Điều hướng Jetpack ban đầu theo những cách sau:

  • Cung cấp khả năng tích hợp đơn giản hơn với Compose
  • Cho phép bạn kiểm soát hoàn toàn ngăn xếp lui
  • Cho phép tạo bố cục có thể đọc nhiều đích đến từ ngăn xếp lui cùng một lúc, giúp bố cục thích ứng với các thay đổi về kích thước cửa sổ và các dữ liệu đầu vào khác.

Đọc thêm về các nguyên tắc và lựa chọn thiết kế API của Navigation 3 trong bài đăng thông báo trên blog.

Mã mẫu

Kho lưu trữ công thức chứa các ví dụ về cách sử dụng các khối xây dựng Navigation 3 để giải quyết các thách thức phổ biến về điều hướng.