flutter Container 在Expanded会占用尽可能大的区域
布局特点
一、Container在不设置宽高的情况下,它的size取决于
- 如果设置了child,那么它会尽可能小,在没有设置constraints情况下,相当于child的大小。
- 如果没有设置child,那么它会尽可能大,在没有设置constraints情况下,相当于parent的大小。
二、Container在设置了宽高的情况下,它在size取决于
- 如果同时设置宽高与constraints,优先以设置的宽高为准,如果宽高不在constraints范围内会无效。
- 如果设置了child,那么它会尽可能小,相当于constraints的最小值(不管child的大小)。
- 如果没有设置child,那么它会尽可能大,相当于constraints的最大值。
constraints是一个约束大小的属性,相当于一个size范围,使Container不会小于最小size,不会超过最大size。
但是,Container在Expanded中,即使设置了child它任然会占用尽可能大的区域:原因是Expanded继承Flexible,其
fit属性设置为:FlexFit.tight。所以如果需要Container占用尽可能少又要按比例占据一块区域,则替换Expanded为Flexible并且修改fit属性为:FlexFit.loose
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!