问题描述
当我在小部件树中使用没有导航栏的 MediaQuery.of(context).padding.top
时,它会返回实际的真实值。
Reloaded 1 of 529 libraries in 637ms.
I/Flutter (31730): 24.0
但是当我将 appBar 放入小部件树时,它只返回 0.0。
Reloaded 1 of 529 libraries in 764ms.
I/Flutter (31730): 0.0
有人可以帮忙说明为什么会这样吗?
解决方法
来自此属性的 docs:
如果您使用了此填充(例如,通过构建一个小部件,该小部件在其布局中包含或考虑此填充,从而使子项不再接触此填充),则应为小部件中的后续后代移除此填充使用 MediaQuery.removePadding 工厂插入新的 MediaQuery 小部件。
由于顶部填充由导航栏负责,因此不再暴露于其下方的小部件。