学习Flutter之Container控件

本文深入探讨了Flutter中Container组件的使用方法与特性,包括如何设置背景颜色、边框样式、圆角、内外边距以及变换效果,展示了Container的灵活性与强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class NewGoodsPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _NewGoodsState();
  }
}

class _NewGoodsState extends State<NewGoodsPage> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Container(
        alignment: Alignment.centerLeft,
        height: 300.0,//设置为double.infinity可以强制在高度上撑满
        width: 300.0,//设置为double.infinity可以强制在宽度上撑满,不设置,则根据child和父节点两者一起布局。
        decoration: BoxDecoration(//设置了decoration的话,就必须设置color属性,否则会报错
            color: Colors.black26,//背景颜色
            border: Border.all(color: Colors.red, width: 2.0),//边框颜色 以及边框的宽
            borderRadius: BorderRadius.all(Radius.circular(150))),//边框的圆角 尺寸足够大,可绘制成圆
        margin: EdgeInsets.all(12),//表示Container 与外部其他组件的距离
        padding: EdgeInsets.all(6),//内边距,指Container 边缘与Child之间的距离
        transform:Matrix4.translationValues(20, -100, 5) ,//让Container 进行一系列旋转之类的
        child: Text("container 中的字控件")//container中的内容widget
      ),
    );
  }
}
### Flutter 最新常用 Widgets 组件列表 #### 一、基础组件 - **Text**: 显示文本内容。可以设置字体样式、颜色等属性来美化显示效果[^2]。 ```dart Text( 'Hello, world!', style: TextStyle(fontSize: 24), ) ``` - **Container**: 容器类组件,用于包裹其他子部件并提供宽度、高度、背景色等功能。 ```dart Container( width: double.infinity, height: 100, color: Colors.blue, child: Center(child: Text('A Container')), ) ``` - **Image**: 展示图片资源,支持网络加载或本地文件路径指定。 ```dart Image.network('https://example.com/image.png') ``` #### 二、交互式组件 - **ElevatedButton / TextButton / OutlinedButton**: 不同样式的按钮,适用于触发点击事件操作。 ```dart ElevatedButton(onPressed: () {}, child: Text('Click Me')) ``` - **TextField & TextFormField**: 输入框允许用户输入文字数据;后者还提供了表单验证功能。 ```dart TextField(decoration: InputDecoration(labelText: "Enter your name")) ``` #### 三、布局管理 - **Row 和 Column**: 分别沿水平方向和垂直方向排列其内部的小部件。 ```dart Column(children: [ Text('First Line'), SizedBox(height: 8), // 添加间距 Text('Second Line') ]) ``` - **ListView.builder()**: 动态构建可滚动视图中的条目项。 ```dart ListView.builder(itemBuilder: (context, index) { return ListTile(title: Text('$index')); }) ``` #### 四、导航与路由控制 - **Navigator.pushNamed(context, '/routeName')**: 实现页面跳转到命名路由定义的目标页。 ```dart Navigator.pushNamed(context, '/secondPage'); ``` #### 特殊说明关于 Material Design 风格的组件 只有当应用程序使用 `MaterialApp` 作为根节点时才能访问来自 Material Components 的特定组件集[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值