Trong Flutter, Scaffold và Container là hai widget rất quan trọng nhưng chúng phục vụ những mục đích khác nhau trong việc xây dựng giao diện người dùng. Dưới đây là sự khác biệt giữa chúng:
Scaffold là một widget cấu trúc cơ bản cho ứng dụng, thường được sử dụng để tạo giao diện của một màn hình hoàn chỉnh. Nó cung cấp các thành phần thiết yếu như AppBar, Drawer, BottomNavigationBar, và FloatingActionButton. Scaffold giúp tổ chức và quản lý bố cục tổng thể của một màn hình trong ứng dụng.Container là một widget cơ bản hơn, dùng để chứa các widget con và có thể tùy chỉnh về kích thước, màu sắc, và các thuộc tính khác như margin, padding, và decoration. Nó chủ yếu được sử dụng để định dạng và bố trí các widget bên trong nó.body, appBar, bottomNavigationBar, v.v.Dưới đây là ví dụ đơn giản về cách sử dụng cả hai widget:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Scaffold vs Container'),
),
body: Center(
child: Container(
width: 200,
height: 200,
color: Colors.blue,
child: Center(
child: Text(
'Hello, Flutter!',
style: TextStyle(color: Colors.white, fontSize: 20),
),
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
// Hành động khi nhấn nút
},
child: Icon(Icons.add),
),
),
);
}
}
Tóm lại, Scaffold và Container đều là những widget quan trọng trong Flutter, nhưng chúng phục vụ những mục đích khác nhau. Scaffold cung cấp cấu trúc cho toàn bộ màn hình, trong khi Container chủ yếu được sử dụng để định dạng và tổ chức các widget con bên trong nó. Việc hiểu rõ sự khác biệt này giúp bạn xây dựng giao diện người dùng một cách hiệu quả hơn trong ứng dụng Flutter của mình.