flutter PreferredSize 的玩法

3,253 阅读1分钟

PreferredSize 是个比较有意思的组件,我在做开发的时候遇到一个问题: AppBar背景是白色的。AppBar下面有TabBar。然后这个TabBar背景也是跟着AppBar的背景一起也是白色的。TabBar本身没有设置背景的方法。这个时候 PreferredSize 就闪亮登场啦。具体代码如下图:

截屏2021-12-02 下午3.45.05.png

PreferredSize 有2个必须要实现的方法:child 和 preferredSize; child 就不必多说了。本文主要看看这个preferredSize 是到底干啥的? 先看效果:当设置 42 会怎么样?preferredSize: Size.fromHeight(42) 看图

截屏2021-12-02 下午3.54.38.png

这是正常的设置。如果要设置更大会怎么样?preferredSize: Size.fromHeight(100) 看图

截屏2021-12-02 下午3.56.12.png

看清楚了吧。作用就是跟AppBar "拉开距离"的。