Sự kiện điều hướng

Navigation Event là một thư viện cung cấp giải pháp Kotlin Multiplatform (KMP) để tích hợp các sự kiện điều hướng cấp hệ thống vào ứng dụng của bạn. Đây là lớp nền tảng để xử lý chỉ dẫn đường đi trên nhiều nền tảng được hỗ trợ.

Khái niệm chính

Hệ thống Sự kiện điều hướng được xây dựng dựa trên mô hình trình xử lý-trình điều phối tập trung, thường được dùng trong hệ thống phân cấp mẹ-con để ánh xạ đến các cấu trúc giao diện người dùng phức tạp, chẳng hạn như các cấu trúc có trong Jetpack Compose.

NavigationEventDispatcher là lớp trung tâm chịu trách nhiệm quản lý tất cả các thực thể tiêu thụ sự kiện điều hướng đã đăng ký (NavigationEventHandler) và điều phối luồng sự kiện.

Trong chế độ thiết lập phân cấp, tất cả các trình điều phối trong cùng một chuỗi đều dùng chung một NavigationEventProcessor duy nhất. NavigationEventProcessor này quản lý trạng thái chung và đảm bảo một thứ tự điều phối duy nhất, thống nhất trên toàn bộ cây.

NavigationEventHandler là một lớp trừu tượng nhận và xử lý các sự kiện điều hướng do NavigationEventDispatcher điều phối. Lớp này xác định các phương thức gọi lại tương ứng với các giai đoạn khác nhau trong vòng đời của cử chỉ điều hướng, chẳng hạn như khi một cử chỉ bắt đầu, tiến triển, hoàn tất hoặc bị huỷ.

Trình xử lý có thể phản hồi các sự kiện này để cập nhật giao diện người dùng hoặc trạng thái ứng dụng nhằm phản hồi các thao tác điều hướng của người dùng. Bạn có thể đăng ký nhiều trình xử lý bằng một trình điều phối và được gọi dựa trên mức độ ưu tiên và thứ tự đăng ký.

NavigationEvent là một lớp dữ liệu chứa thông tin chi tiết về cử chỉ điều hướng.

NavigationEventInfo là một lớp trừu tượng cung cấp thông tin theo bối cảnh về trạng thái chỉ đường.

NavigationEventInput là một lớp trừu tượng cho các thành phần tạo và gửi sự kiện điều hướng. Đây là phía "đầu vào" của hệ thống điều hướng, dịch các sự kiện dành riêng cho nền tảng (chẳng hạn như cử chỉ quay lại hệ thống hoặc lượt nhấp vào nút) thành các sự kiện được chuẩn hoá có thể gửi đến một NavigationEventDispatcher.

Các hướng dẫn và điều kiện kích hoạt được hỗ trợ

Hệ thống Sự kiện điều hướng được thiết kế để bao gồm nhiều thứ hơn là chỉ nút quay lại trên hệ thống, với các thiết kế hỗ trợ nhiều hướng điều hướng và phương thức nhập trên các nền tảng.

Hướng được hỗ trợ

Các nền tảng khác nhau hỗ trợ nhiều hướng điều hướng:

Nền tảng

Quay lại

Up

Chuyển tiếp

Trang chủ

Điện thoại Android

🚫

Máy tính bảng Android

🚫

Web (Trình duyệt)

🚫

iOS (iPhone/iPad)

🚫

Các điều kiện kích hoạt được hỗ trợ

Việc xử lý dữ liệu đầu vào được thực hiện thông qua nhiều cơ chế trên mỗi nền tảng:

Kích hoạt

Điện thoại Android

Web (Trình duyệt)

iOS (iPhone/iPad)

Nút quay lại trên bàn phím

✅ Quay lại

✅ Quay lại

Nút quay lại phần mềm

🚫

✅ Quay lại

✅ Quay lại

Nút lên của phần mềm

✅ Tăng

🚫

🚫

Cử chỉ từ bên trái

✅ Quay lại

✅ Quay lại

Cử chỉ từ phải sang

✅ Quay lại

✅ Chuyển tiếp

Cử chỉ từ dưới cùng

✅ Trang chủ

🚫

✅ Trang chủ