中国免费企业建站,厦门建设局网站改到哪,个人网站建设中代码下载,江苏建设纸质考试网站Flutter 中的 Container 是一个非常常用且功能强大的布局 widget#xff0c;它可以组合多个布局、绘制和定位功能。下面详细介绍一下 Container 的主要特性和用法#xff1a;
基本结构
Container(
// 各种属性...
child: Widget, // 子组件
)主要属性
1. 布局相关属性
child:…Flutter 中的Container是一个非常常用且功能强大的布局 widget它可以组合多个布局、绘制和定位功能。下面详细介绍一下Container的主要特性和用法基本结构Container(// 各种属性...child:Widget,// 子组件)主要属性1.布局相关属性child: 子组件alignment: 对齐方式如Alignment.centerwidth/height: 固定宽高constraints: 约束条件使用BoxConstraintsContainer(width:100,height:100,alignment:Alignment.center,child:Text(Hello),)2.装饰相关属性color: 背景颜色decoration: 装饰效果使用BoxDecorationforegroundDecoration: 前景装饰Container(decoration:BoxDecoration(color:Colors.blue,borderRadius:BorderRadius.circular(10),border:Border.all(color:Colors.black,width:2,),),)3.边距相关属性margin: 外边距padding: 内边距Container(margin:EdgeInsets.all(20),padding:EdgeInsets.symmetric(horizontal:10,vertical:5),child:Text(Content),)4.变换属性transform: 变换矩阵旋转、缩放等Container(transform:Matrix4.rotationZ(0.1),child:Text(Rotated),)常见用法示例1.带圆角和阴影的卡片Container(margin:EdgeInsets.all(10),padding:EdgeInsets.all(20),decoration:BoxDecoration(color:Colors.white,borderRadius:BorderRadius.circular(15),boxShadow:[BoxShadow(color:Colors.grey.withOpacity(0.3),spreadRadius:2,blurRadius:5,offset:Offset(0,3),),],),child:Text(Card Content),)2.渐变色背景Container(decoration:BoxDecoration(gradient:LinearGradient(begin:Alignment.topLeft,end:Alignment.bottomRight,colors:[Colors.blue,Colors.green],),),child:Text(Gradient Background),)3.圆形头像容器Container(width:100,height:100,decoration:BoxDecoration(shape:BoxShape.circle,image:DecorationImage(image:NetworkImage(https://example.com/avatar.jpg),fit:BoxFit.cover,),border:Border.all(color:Colors.white,width:3,),),)4.带边框的按钮Container(decoration:BoxDecoration(borderRadius:BorderRadius.circular(25),border:Border.all(color:Colors.blue),),padding:EdgeInsets.symmetric(horizontal:30,vertical:10),child:Text(Outlined Button),)注意事项color vs decoration:// ❌ 错误不能同时设置Container(color:Colors.red,decoration:BoxDecoration(color:Colors.blue),)// ✅ 正确只设置一个Container(decoration:BoxDecoration(color:Colors.blue),)尺寸行为:无子组件且无约束尽可能大有子组件大小与子组件相同有约束受约束限制性能考虑Container会创建新的渲染对象大量使用时要注意性能。实际应用场景// 头像占位符Container(width:50,height:50,decoration:BoxDecoration(shape:BoxShape.circle,color:Colors.grey[300],),child:Icon(Icons.person,color:Colors.grey),)// 分隔线Container(height:1,color:Colors.grey[300],margin:EdgeInsets.symmetric(vertical:10),)// 自定义进度指示器背景Container(height:10,decoration:BoxDecoration(borderRadius:BorderRadius.circular(5),color:Colors.grey[200],),child:Container(width:100,// 进度值decoration:BoxDecoration(borderRadius:BorderRadius.circular(5),gradient:LinearGradient(colors:[Colors.blue,Colors.lightBlue],),),),)Container是 Flutter 中最基础也最实用的组件之一通过组合不同的属性可以实现各种各样的 UI 效果。掌握好Container的用法对 Flutter UI 开发非常有帮助。