文章目录
Flutter 基础布局 Container Widget - Container 具体用法
- 示例2
- 示例3
Container 具体用法Container将会是我们以后最常用的控件之一,Container是单容器类控件,即只包含一个子控件。Container可以装饰和定位子控件,例如设置背景颜色、形状等。
- alignment 对齐排列方式
- padding padding
- color 背景色
- decoration 背景装饰
- foregroundDecoration 前景装饰
- wdith 宽度
- height 高度
- constraints 容器约束条件
- transform 旋转变换
- child 布局子Widget
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ContainerExample extends StatefulWidget { @override State<StatefulWidget> createState() { return ContainerExampleState(); } } class ContainerExampleState extends State<ContainerExample> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Container Widget"), ), body: Container( constraints: BoxConstraints.expand( height: Theme.of(context).textTheme.display1.fontSize * 1.1 + 200.0, ), padding: const EdgeInsets.all(8.0), color: Colors.tealAccent.shade400, alignment: Alignment.center, child: Text( "Hello World", style: Theme.of(context) .textTheme .display1 .copyWith(color: Colors.white), ), foregroundDecoration: BoxDecoration( image: DecorationImage( image: NetworkImage( 'https://sf3-ttcdn-tos.pstatp.com/img/user-avatar/776eaf92140f6f8f3c3f39fb51de2cc4~300x300.image'), centerSlice: Rect.fromLTRB(270, 180, 1360, 730))), transform: Matrix4.rotationZ(0.1), ), ); } }
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class Container1Example extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: "容器组件示例", home: Scaffold( appBar: AppBar( title: Text("容器组件示例"), ), body: Center( // 添加容器 child: Container( width: 200, height: 200, // 添加边框装饰效果 decoration: BoxDecoration( color: Colors.white, // 设置上下左右四哥边框的样式(颜色,边框宽度) border: Border.all(color: Colors.grey, width: 8.0), // 边框的弧度 borderRadius: const BorderRadius.all(const Radius.circular(8.0)), ), child: Text( "容器组件示例", textAlign: TextAlign.center, style: TextStyle(fontSize: 28.0), ), ), ), ), ); } }
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class Container2Example extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: "容器组件示例", home: Scaffold( appBar: AppBar( title: Text("容器组件示例"), ), body: Column( children: [ Row( children: [ // 防止内容溢出 Expanded( child: Container( width: 150.0, height: 150.0, decoration: BoxDecoration( // 边框设置为10.0蓝灰色 border: Border.all(width: 10.0, color: Colors.blueGrey), // 圆角8.0 borderRadius: BorderRadius.all(Radius.circular(8.0)), ), //边距4.0 margin: EdgeInsets.all(4.0), child: Image.asset("images/1.jpg"), ), ), Expanded( child: Container( width: 150.0, height: 150.0, decoration: BoxDecoration( // 边框设置为10.0蓝灰色 border: Border.all(width: 10.0, color: Colors.blueGrey), // 圆角8.0 borderRadius: BorderRadius.all(Radius.circular(8.0)), ), //边距4.0 margin: EdgeInsets.all(4.0), child: Image.asset("images/2.jpg"), ), ), ], ), Row( children: [ // 防止内容溢出 Expanded( child: Container( width: 150.0, height: 150.0, decoration: BoxDecoration( // 边框设置为10.0蓝灰色 border: Border.all(width: 10.0, color: Colors.blueGrey), // 圆角8.0 borderRadius: BorderRadius.all(Radius.circular(8.0)), ), //边距4.0 margin: EdgeInsets.all(4.0), child: Image.asset("images/3.jpg"), ), ), Expanded( child: Container( width: 150.0, height: 150.0, decoration: BoxDecoration( // 边框设置为10.0蓝灰色 border: Border.all(width: 10.0, color: Colors.blueGrey), // 圆角8.0 borderRadius: BorderRadius.all(Radius.circular(8.0)), ), //边距4.0 margin: EdgeInsets.all(4.0), child: Image.asset("images/4.jpg"), ), ), ], ), ], ), ), ); } }