Container是一个组合类容器,其设计思路遵循着组合优先于继承
原则,它本身是一个StatelessWidget,Container组件持有一个child控件,它的build方法返回的widge是对child控件的包装组合之后的结果。
比如child组件通过可能通过Padding,DecorateBex,ConstrainedBox,Algin等容器包装过后,讲包装的形成后的Widget作为build方法返回的结果。也就是说我们只需要一个Container组件就可以对child组件装饰所需的效果。
下面就具体分析该组件,算是对这个常用组件做一个总结。
Dart知识储备??
操作符:
Container中用到了??这个操作符,那么这个操作符的意思是什么呢?先来看看下面的语句:
condition ? expr1 : expr2
这样语句很常见,意思是如果condition为真,返回expr1,否则返回expr2.那么下面语句又是什么意思呢?
expr1 ?? expr2
意思是:如果expr1不为空,则返回其值;否则,返回expr2的值。
Container构造器