首页 > 解决方案 > 当我将 MediaQuery.of(context).padding.top 与 appBar 一起使用时,它返回 0.0。这是为什么?

问题描述

当我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

有人可以帮忙说明为什么会这样吗?

标签: androidiosflutterdartemulation

解决方案


从这个属性的文档

如果您使用了此填充(例如,通过构建一个在其布局中封装或说明此填充的小部件,以使子级不再暴露于此填充),您应该通过插入为小部件树中的后续后代删除此填充使用 MediaQuery.removePadding 工厂的新 MediaQuery 小部件。

由于顶部填充由导航栏占据,它不再暴露给它下面的小部件。


推荐阅读