Điều hướng là các hành động tương tác cho phép người dùng di chuyển qua lại, vào và ra khỏi các phần nội dung khác nhau trong ứng dụng. Thành phần điều hướng của Android Jetpack giúp bạn triển khai tính năng điều hướng, từ nhấp nút đơn giản đến các mẫu phức tạp hơn, chẳng hạn như thanh ứng dụng và ngăn điều hướng. Thành phần điều hướng cũng đảm bảo trải nghiệm người dùng nhất quán và dễ dự đoán bằng cách tuân thủ một bộ nguyên tắc đã được thiết lập.
Thành phần điều hướng bao gồm ba phần chính được mô tả dưới đây:
- Biểu đồ điều hướng: Một tài nguyên XML chứa tất cả thông tin liên quan đến điều hướng tại một vị trí tập trung. Biểu đồ này bao gồm tất cả các vùng nội dung riêng lẻ trong ứng dụng (được gọi là đích đến) cũng như các đường dẫn khả thi mà người dùng có thể di chuyển đến thông qua ứng dụng.
NavHost
: Một vùng chứa rỗng hiển thị đích đến từ biểu đồ điều hướng. Thành phần điều hướng chứa cách triển khaiNavHost
mặc định,NavHostFragment
mà hiển thị đích đến của mảnh.NavController
: Một đối tượng quản lý việc điều hướng ứng dụng trongNavHost
.NavController
điều phối việc hoán đổi nội dung đích đến trongNavHost
khi người dùng di chuyển giữa các phần khác nhau trong ứng dụng.
Khi di chuyển giữa các phần khác nhau trong ứng dụng, bạn cho NavController
biết rằng bạn muốn di chuyển theo một đường dẫn cụ thể trong biểu đồ điều hướng hay di chuyển trực tiếp đến một đích đến cụ thể nào đó. Sau đó, NavController
sẽ hiển thị đích đến thích hợp trong NavHost
.
Thành phần điều hướng mang lại một số lợi ích bao gồm:
- Xử lý giao dịch mảnh.
- Xử lý chính xác các thao tác Lên và Quay lại theo mặc định.
- Cung cấp tài nguyên chuẩn hoá để tạo ảnh động và hiệu ứng chuyển tiếp.
- Triển khai và xử lý liên kết sâu.
- Bao gồm các mẫu Giao diện người dùng điều hướng (chẳng hạn như ngăn điều hướng và thanh điều hướng ở dưới cùng) giúp giảm thiểu tối đa công việc cần làm.
- Safe Args – một trình bổ trợ Gradle giúp giữ an toàn cho các loại đích đến khi điều hướng và truyền dữ liệu giữa các đích đến.
- Hỗ trợ
ViewModel
– bạn có thể thiết lập phạm vi củaViewModel
trong biểu đồ điều hướng để chia sẻ dữ liệu liên quan đến giao diện người dùng giữa các đích đến trong biểu đồ.
Ngoài ra, bạn có thể sử dụng Trình chỉnh sửa điều hướng của Android Studio để xem và chỉnh sửa biểu đồ điều hướng.
Các bước tiếp theo
Để có thêm tài liệu và tài nguyên tham khảo liên quan đến thành phần điều hướng, hãy xem các nội dung sau.
Bắt đầu
Chủ đề khác
- Nguyên tắc điều hướng
- Thiết kế cho nhiều dạng thức
- Thao tác bằng cử chỉ
- Thiết kế biểu đồ điều hướng
- Biểu đồ lồng ghép
- Thao tác chung
- Thao tác có điều kiện
- Truyền dữ liệu giữa các đích đến
- Tạo liên kết sâu đến một đích đến
- Tạo hiệu ứng động cho quá trình chuyển đổi giữa các đích đến
- Cập nhật các thành phần giao diện người dùng với NavigationUI
- Tạo khung nhìn khi vuốt bằng các thẻ
- Tương tác theo cách lập trình với thành phần điều hướng
- Kiểm thử điều hướng
- Thêm loại đích đến mới
- Cung cấp thao tác quay lại tuỳ chỉnh
- Di chuyển sang thành phần điều hướng
Mẫu
Lớp học lập trình
- Navigation codelab (Lớp học lập trình về điều hướng)
Bài đăng trên blog
Video
- Chỉ dẫn điều hướng
- 10 phương pháp hay nhất để chuyển sang một hoạt động duy nhất
- Hoạt động duy nhất: Lý do, thời điểm và cách thức (hội nghị dành cho nhà phát triển Android năm 2018)
- Android Jetpack: Quản lý điều hướng giao diện người dùng bằng trình điều khiển điều hướng (Google I/O năm 18)