Trong Flutter, việc chuyển đổi giữa các màn hình (screen/page) được thực hiện thông qua Navigator và Route. Flutter cung cấp hai loại điều hướng chính:
- Named Route: Sử dụng chuỗi định danh (string) để gọi màn hình.
- Direct Route: Sử dụng đối tượng Route để gọi màn hình.
Navigator là một widget quản lý ngăn xếp các Route của ứng dụng. Ngăn xếp này chứa tất cả các màn hình của ứng dụng, với màn hình hiện tại ở trên cùng. Các phương thức phổ biến của Navigator bao gồm:
- Push: Đẩy một Route mới vào ngăn xếp.
- Pop: Loại bỏ Route trên cùng khỏi ngăn xếp.
Các loại Route
- MaterialPageRoute: Dành cho ứng dụng sử dụng Material Design.
- CupertinoPageRoute: Dành cho ứng dụng theo phong cách iOS.
- PageRouteBuilder: Cho phép tùy chỉnh animation khi chuyển đổi màn hình
Tab controler
Bottom navigation bar:
1/ Làm thế nào để truyền data giữa các screen khi navigate tác giả nhỉ?
2/ Làm thế nào để bấm nút “Back”, nhưng không quay về màn hình được đẩy về trước đó, mà quay về 1 màn hình khác. Ví dụ:
(1)Giỏ hàng => (2) review đơn hàng => (3) thanh toán dơn hàng bằng hình thức thanh toán epay => (4) chi tiết đơn hàng => tại đây user bấm nút [Back] thì đâu cần quay lại màn hình (3) làm gì đâu, cần ra màn hình [Home] luôn để xem các sản phẩm khác