Flutter-基础组件(StatelessWidget)-Container

Container,容器

1.继承关系: Object > Diagnosticable > DiagnosticableTree > Widget > StatelessWidget > Container

2.布局行为:

由于Container是容器,可以集成其他Widget,每个Widget都有自己的布局行为,因此Container的布局行为:

依次是:

  1. 采用alignment
  2. 以child调整自身大小
  3.  采用了width,height和考虑constraints
  4. 扩大以适应父Widget
  5. 要尽可能小

具体情况来说:

  1. 没有子Widget,没有height,没有width,没有constraints,并且父窗口提供无限制约束,则Container尝试尽可能小。
  2. 没有子Widget,没有alignment,而是一个height,width或 constraints提供,Container试图给出这些限制和父Widget的约束相结合,以尽可能小。
  3. 没有子Widget,没有height,没有width,没有constraints,没有alignment,但是父窗口提供了有界约束,那么Container会扩展以适应父窗口提供的约束。
  4. 具有alignment,且父窗口提供无限制约束,则constraints会尝试围绕子Widget的alignment自身大小。
  5. 具有alignment,且父窗口提供有界约束,则constraints会尝试展开以适合父窗口,根据alignment将子项置于其自身内。
  6. 具有子Widget,没有height,没有width,没有constraints,没有alignment,将父级constraints传递给子级,自身调整大小。

3.container的属性:

Key key-----key来控制框架将在widget重建时与哪些其他widget匹配                                                                  AlignmentGeometry alignment-----child的widget的位置 
EdgeInsetsGeometry padding-----容器内边距
Color color-----容器背景颜色,与装饰器不能同时设置
Decoration decoration-----装饰器:绘制容器背景图案,和color不能同时设置
Decoration foregroundDecoration-----装饰器:绘制容器前景
double width-----宽度
double height-----高度
BoxConstraints constraints,
EdgeInsetsGeometry margin-----
容器外边距
Matrix4 transform-----矩阵,在绘制容器前应用矩阵变化,用法暂时不明
Widget child-----子组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值