Flutter布局 --- Container

类型 作用特点
Container 只有一个子 Widget。默认充满,包含了padding、margin、color、宽高、decoration 等配置。
Padding 只有一个子 Widget。只用于设置Padding,常用于嵌套child,给child设置padding。
Center 只有一个子 Widget。只用于居中显示,常用于嵌套child,给child设置居中。
Stack 可以有多个子 Widget。 子Widget堆叠在一起。
Column 可以有多个子 Widget。垂直布局。
Row 可以有多个子 Widget。水平布局。
Expanded 只有一个子 Widget。在 Column 和 Row 中充满。
ListView 可以有多个子 Widget。自己意会吧。

在 Flutter 中,BoxDecoration 是一个用于装饰容器的类,它可以为 Widget(如 Container、Card 等)添加各种视觉效果。

基本概念

BoxDecoration 允许你为矩形区域添加背景色、边框、阴影、渐变、形状等装饰效果。

主要属性

1. color - 背景颜色

Dart 复制代码
Container(
  decoration: BoxDecoration(
    shape: BoxShape.circle, // 圆形
    color: Colors.red,
  ),
  width: 100,
  height: 100,
  child: Icon(Icons.star, color: Colors.white),
)

2. border - 边框

Dart 复制代码
Container(
  decoration: BoxDecoration(
    border: Border.all(
      color: Colors.black,
      width: 2.0,
    ),
  ),
  child: Text('带边框'),
)

3. borderRadius - 圆角

Dart 复制代码
Container(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(12.0),
    color: Colors.green,
  ),
  child: Text('圆角容器'),
)
  1. boxShadow - 阴影
Dart 复制代码
Container(
  decoration: BoxDecoration(
    boxShadow: [
      BoxShadow(
        color: Colors.grey.withOpacity(0.5),
        blurRadius: 5.0,
        offset: Offset(0, 3),
      ),
    ],
    color: Colors.white,
  ),
  child: Text('带阴影的容器'),
)

5. gradient - 渐变

Dart 复制代码
Container(
  decoration: BoxDecoration(
    gradient: LinearGradient(
      begin: Alignment.topLeft,
      end: Alignment.bottomRight,
      colors: [Colors.blue, Colors.purple],
    ),
  ),
  child: Text('渐变背景'),
)

6. shape - 形状

Dart 复制代码
Container(
  decoration: BoxDecoration(
    shape: BoxShape.circle, // 圆形
    color: Colors.red,
  ),
  width: 100,
  height: 100,
  child: Icon(Icons.star, color: Colors.white),
)
相关推荐
浮洋2 小时前
HabitGo:一个 Flutter 习惯追踪 App 的深度技术剖析
flutter
西西学代码2 小时前
Flutter---RefreshIndicator案例
flutter
西西学代码3 小时前
Flutter---RefreshIndicator
flutter
末代iOS程序员华仔3 小时前
从 Figma 到上架:使用 Codex 与 MCP 全流程实现 AI 聊天 App
flutter·ios·swift
西西学代码4 小时前
Flutter---StreamBuilder案例
javascript·windows·flutter
子非鱼94276 小时前
03-Flutter 鸿蒙实战 03:登录注册与本地会话持久化
网络·flutter·华为·harmonyos
AM艾玛6 小时前
Flutter 环境搭建实录
vscode·flutter
子非鱼94276 小时前
01-Flutter 鸿蒙实战 01:会说话的相册项目架构拆解
flutter·华为·harmonyos
子非鱼94277 小时前
02-Flutter 鸿蒙实战 02:Web 移植到 Flutter HarmonyOS 的页面结构
学习·flutter·华为·harmonyos
dragon7251 天前
一个 Flutter Loading 关不掉的诡异 Bug:从 showDialog 的竞态说起
flutter