1分钟
03 单子元素布局-3
所以我们可以总结:真正的布局和大小计算等行为,都是在 RenderBox 上去实现的。 不同的 Widget 通过各自的 RenderBox实现了“差异化”的布局效果。所以找每个 Widget 的实现,找它的 RenderBox实现就可以了。(当然,另外还有 RenderSliver,这里暂时不讨论)
这里我们通过 Offstage 这个Widget 小结下,Offstage 这个 Widget 是通过 offstage 标志控制 child 是否显示的效果,同样的它也有一个 RenderOffstage,如下图,通过 RenderOffstage的源码我们可以“真实”看到 offstage 标志位的作用:
所以大部分时候,我们的 Widget 都是通过实现 RenderBox 实现布局的 ,那我们可不可抛起 Widget 直接用 RenderBox呢?答案明显是可以的,如果你闲的?疼的话!
学员评价