FLUTTER WIDGET LÀ GÌ?
Widget là “viên gạch” để xây nên giao diện Flutter.
Mọi thứ nhìn thấy trên app đều là widget: chữ, nút bấm, ô nhập liệu, hình ảnh…
Phân loại cơ bản Widget
1. StatelessWidget – Giao diện tĩnh
Không thay đổi sau khi được tạo.
Dùng khi widget chỉ hiển thị thông tin, không tương tác.
2. StatefulWidget – Giao diện động
Có thể thay đổi khi người dùng tương tác (nhập dữ liệu, bấm nút…).
Dùng khi cần cập nhật nội dung.
MỘT SỐ WIDGET THƯỜNG DÙNG
- Text : Hiển thị chữ / Ví dụ : Text(‘Ghi chú’)
- TextField: Nhập nội dụng / Ví dụ : TextField(controller: …)
- ElevatedButton : Nút bấm / Ví dụ : ElevatedButton(onPressed: …, child: Text(‘Lưu’))
- Icon : Hiện thị Icon / Ví dụ: Icon(Icons.delete)
- IconButton: Nút bấm có hình Icon / Ví dụ: IconButton(onPressed: …, icon: Icon(…))
- ListView: Hiển thị danh sách cuộn/ Ví dụ: ListView.builder(…)
- Scaffold: Giao diện cơ bản của 1 trang/ Ví dụ: Scaffold(appBar: …, body: …)
ỨNG DỤNG WIDGET VÀO MINI PROJECT (NOTE APP)
Mục tiêu của Project :
Tạo app ghi chú đơn giản gồm các chức năng:
-
Nhập nội dung ghi chú
-
Lưu ghi chú vào danh sách
-
Hiển thị danh sách ghi chú
-
Xóa ghi chú
Vai trò của các Widget trong Project :
StatefulWidget: Dùng cho toàn bộ màn hình để quản lý danh sách ghi chú thay đổi
TextField : Dùng để nhập nội dung ghi chú
ElevatedButton: Nút để thêm ghi chú vào danh sách
ListView.builder: Hiện thị danh sách các ghi chú
Text: Hiện thị nội dung ghi chú
IconButton: Nút để xóa từng ghi chú
TextEditingController: Quản lý và lấy nội dung từ TextField
Mục tiêu sẽ làm trong bài báo cáo này :
- Xây dựng giao diện cơ bản bằng Widget
- Github Project : https://github.com/phuoc24205/intern-flutter-project
Hình ảnh kết quả :