运行效果:
如果不明白为什么会这样,请参阅我的另一篇文章 flutter Row和Column组件
示例二:将Row中的第一个组件使用Expanded包裹
可以看到,将第一个组件使用Expanded包裹后,第一个组件设置的width会无效,并且它在主轴方向变大,直到填充剩余空间,但在纵轴方向上并没有变大,依然维持自身的height。
第一个图像因为设置了 fit: BoxFit.cover,所以会被裁剪。BoxFit.cover表示图像填充组件,多余的进行裁剪处理。
示例三:使用Expanded实现Row中所有组件平均分配剩余空间
————————————————
运行效果:
有人会问,这样跟将Row设置mainAxisAlignment:MainAxisAlignment.spaceEvenly有什么区别呢?MainAxisAlignment.spaceEvenly 并不会改变子组件的尺寸,大家可以参阅我的另一篇文章
flutter Row和Column组件 示例六
示例四:将一个组件设置成其它组件的两倍大小
运行效果:
由于其它组件弹性系数默认是1,中间组件设置了弹性系数2,因此宽度是其它组件的两倍。
Expanded组件的属性比较少,用途广泛,用法也很简单。关于它的介绍就到这里,不知道你有没有学会?学会了点个赞呗~