Bạn có biết: Người dùng chỉ mất 0.05 giây để đánh giá xem ứng dụng của bạn có “xịn” hay không dựa trên giao diện.
Flutter sinh ra là để làm UI đẹp. Nếu ứng dụng của bạn nhìn vẫn “phèn”, đó là lỗi của bạn, không phải lỗi của Flutter. Bài viết này sẽ giúp bạn nâng tầm giao diện ứng dụng lên chuẩn Designer.
1. Nguyên tắc Material Design & Cupertino
Flutter hỗ trợ sẵn 2 ngôn ngữ thiết kế phổ biến nhất thế giới:
* Material Design (Android): Nổi bật với hiệu ứng đổ bóng (Shadow), màu sắc rực rỡ và hiệu ứng gợn sóng (Ripple) khi bấm.
* Cupertino (iOS): Tinh tế, phẳng, dùng hiệu ứng Blur và Navigation Bar đặc trưng của Apple.
Mẹo: Bạn có thể dùng Platform.isIOS để tự động hiển thị giao diện phù hợp với từng hệ điều hành.
2. Responsive Layout (Giao diện đáp ứng)
Làm sao để App hiển thị đẹp trên cả iPhone 5 màn nhỏ xíu và iPad Pro màn to đùng? Hãy dùng các Widget sau:
a. Flexible & Expanded
Giúp các Widget con tự động co giãn để lấp đầy khoảng trống còn thừa.
b. MediaQuery
Lấy thông tin về kích thước màn hình hiện tại.
double width = MediaQuery.of(context).size.width;
if (width > 600) {
// Hiển thị giao diện Tablet
} else {
// Hiển thị giao diện Mobile
}
c. SafeArea
Đảm bảo nội dung không bị che bởi “Tai thỏ” (Notch) hoặc thanh điều hướng dưới đáy màn hình.
3. Thêm gia vị Animation (Hiệu ứng chuyển động)
Một ứng dụng “tĩnh” sẽ rất nhàm chán. Hãy thêm chút chuyển động:
* Hero Animation: Hiệu ứng chuyển cảnh mượt mà khi bấm vào ảnh sản phẩm để xem chi tiết.
* AnimatedContainer: Tự động tạo hiệu ứng khi bạn thay đổi các thuộc tính như màu sắc, kích thước.
4. Custom Font & Theme
Đừng dùng font mặc định. Hãy tải Google Fonts (như Roboto, Open Sans) về để App nhìn chuyên nghiệp hơn.
Sử dụng ThemeData để quản lý màu sắc toàn bộ ứng dụng. Chỉ cần sửa 1 chỗ, cả App sẽ đổi màu theo (Ví dụ: Chế độ Dark Mode).
Giao diện đẹp là điều kiện cần, nhưng dữ liệu mới là điều kiện đủ. App của bạn cần phải lấy dữ liệu từ Server về để hiển thị sản phẩm, tin tức…
Bài tiếp theo sẽ hướng dẫn bạn cách Kết nối API REST để lấy dữ liệu JSON từ internet và hiển thị lên màn hình.
👉 Kết nối API REST trong Flutter: Hướng dẫn dùng package http/dio
Đón xem bài tiếp theo: Kết nối API REST trong Flutter: Lấy dữ liệu từ Server về App!**