目录

Flutter-常用组件大全

Flutter 常用组件大全

Flutter 常用组件大全

Flutter 提供了丰富的组件来构建 UI,以下是常见的组件,按 功能类别 分类。


1️⃣ 基础布局组件

组件作用示例
Container盒子容器,支持装饰、边距、大小Container(width: 100, height: 100, color: Colors.red)
Padding内边距Padding(padding: EdgeInsets.all(10), child: Text("Hello"))
Center居中对齐Center(child: Text("居中"))
Align位置对齐Align(alignment: Alignment.bottomRight, child: Text("右下角"))
SizedBox固定大小的空白间距SizedBox(height: 20)
Expanded让子组件填充剩余空间Expanded(child: Text("填充空间"))
Flexible控制子组件弹性大小Flexible(child: Text("弹性大小"))
Padding(
  padding: EdgeInsets.all(20),
  child: Center(child: Text("Hello, Flutter!")),
)

2️⃣ 列表 & 网格

组件作用示例
ListView滚动列表ListView(children: [...])
GridView网格布局GridView.count(crossAxisCount: 3, children: [...])
SingleChildScrollView单个子元素滚动SingleChildScrollView(child: Column(...))
ListView(
  children: [
    ListTile(title: Text("Item 1")),
    ListTile(title: Text("Item 2")),
  ],
)

3️⃣ 文字 & 按钮

组件作用示例
Text文本Text("Hello", style: TextStyle(fontSize: 18))
RichText富文本RichText(text: TextSpan(text: "Bold", style: TextStyle(fontWeight: FontWeight.bold)))
ElevatedButton立体按钮ElevatedButton(onPressed: () {}, child: Text("点击"))
TextButton文字按钮TextButton(onPressed: () {}, child: Text("文字按钮"))
IconButton图标按钮IconButton(icon: Icon(Icons.star), onPressed: () {})
ElevatedButton(
  onPressed: () {
    print("按钮点击");
  },
  child: Text("点击我"),
)

4️⃣ 图片 & 图标

组件作用示例
Image.asset加载本地图片Image.asset("assets/logo.png")
Image.network加载网络图片Image.network("https://example.com/logo.png")
Icon图标Icon(Icons.favorite, color: Colors.red)
Image.network(
  "https://picsum.photos/200",
  width: 100,
  height: 100,
)

5️⃣ 输入框 & 表单

组件作用示例
TextField单行输入框TextField(decoration: InputDecoration(labelText: "输入内容"))
TextFormField表单输入框TextFormField(decoration: InputDecoration(labelText: "请输入"))
Checkbox复选框Checkbox(value: true, onChanged: (val) {})
Switch开关Switch(value: true, onChanged: (val) {})
Slider滑动条Slider(value: 0.5, onChanged: (val) {})
TextField(
  decoration: InputDecoration(
    labelText: "输入用户名",
    border: OutlineInputBorder(),
  ),
)

6️⃣ 导航 & 路由

组件作用示例
Navigator页面导航Navigator.push(context, MaterialPageRoute(builder: (context) => NewPage()))
BottomNavigationBar底部导航栏BottomNavigationBar(items: [...])
Drawer侧边菜单Drawer(child: ListView(...))
TabBar顶部 Tab 选项卡TabBar(tabs: [...])
BottomNavigationBar(
  items: [
    BottomNavigationBarItem(icon: Icon(Icons.home), label: "首页"),
    BottomNavigationBarItem(icon: Icon(Icons.person), label: "我的"),
  ],
)

7️⃣ 对话框 & 提示

组件作用示例
AlertDialog弹出对话框showDialog(context: context, builder: (context) => AlertDialog(title: Text("提示")))
SnackBar底部提示ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("操作成功")))
showDialog(
  context: context,
  builder: (context) {
    return AlertDialog(
      title: Text("提示"),
      content: Text("确认要退出吗?"),
      actions: [
        TextButton(onPressed: () => Navigator.pop(context), child: Text("取消")),
        TextButton(onPressed: () => print("确认"), child: Text("确定")),
      ],
    );
  },
);

✅ 总结

  • 布局组件ContainerPaddingCenter
  • 列表组件ListViewGridView
  • 文本 & 按钮TextElevatedButton
  • 图片 & 图标ImageIcon
  • 输入框 & 表单TextFieldCheckbox
  • 导航 & 路由NavigatorBottomNavigationBar
  • 对话框 & 提示AlertDialogSnackBar

如果你需要更详细的示例代码,可以告诉我你的具体需求!🚀