美文网首页
Flutter -- Container

Flutter -- Container

作者: 木扬音 | 来源:发表于2021-10-31 14:54 被阅读0次

Container

类似iOS中的UIView,继承自StatelessWidget

布局

  • 如果没有子Widget、没有设置width、height以及constraints,并且父Widget没有设置unbounded的限制,会将自身调整到足够小。
  • 如果没有子Widget、alignment,但是提供了width、height或者constraints,那么Container会根据自身以及父节点的限制,将自身调节到足够小。
  • 如果没有子Widget、width、height、constraints以及alignment,但是父Widget提供了bounded限制,那么Container会按照父Widget的限制,将自身调整到足够大。
  • 如果有alignment,父Widget提供了unbounded限制,那么Container将会调节自身尺寸来包住child;
  • 如果有alignment,并且父Widget提供了bounded限制,在父Widget的范围内,Container会将自身调整的足够大,然后将child根据alignment调整位置;
  • 含有子Widget,但是没有width、height、constraints以及alignment,Container会将父Widget的constraints传递给子Widget,并且根据子Widget调整自身。

属性

  • margin:内边距,和子Widget有关系
  • padding:外边距,和父Widget有关系
  • alignment:子Widget对齐方式
    • 默认是Alignment(0,0),子Widget居中。取值范围是(-1,1)。
  • child:子部件
  • clipBehavior:裁剪方法
  • color:背景颜色,如果foregroundDecoration设置的话,可能会遮盖color效果。
  • constraints:边界约束
  • decoration:用来设置特殊背景、边框。绘制在child后面的装饰。设置了decoration的话,就不能设置color属性
  • foregroundDecoration:用来设置特殊背景、边框。绘制在child前面的装饰
  • key:一个唯一标记,仅仅用来更新widget->key相同的小部件的状态
  • transform:矩阵变换
  • transformAlignment:设置矩阵变换的对齐方式
  • width:宽度,设置为double.infinity可以强制在宽度上撑满,不设置,则根据child和父节点两者一起布局。
  • height:高度,设置为double.infinity可以强制在高度上撑满。

相关文章

网友评论

      本文标题:Flutter -- Container

      本文链接:https://www.haomeiwen.com/subject/gnoraltx.html