PreferredSize 不对其子控件施加任何约束

更新时间:2023-05-25 21:55

PreferredSize

PreferredSize组件不会对其子组件施加任何额外的约束,因此它并不会影响布局。该组件的主要作用是通过preferredSize参数提供一个“理想尺寸”,供其他组件(主要是父级组件)参考。例如可通过Size.fromHeight(20)构建一个高度为20单位的尺寸(宽度无限)作为理想尺寸

AppBar.bottom通常是TabBar等,通过PreferredSize可设置为任意组件:
 

PreferredSize( 
  preferredSize: Size.fromHeight(20), 
  child: FlutterLogo(), 
)
实战中一般直接传入AppBar组件,但如需自定义,则可以选择传入PreferredSize组件。当Scaffold获知了导航条的理想高度后,就可以更好地计算body区域所需要的顶部留白。