首页 > 解决方案 > 如何在 Flutter 中获得安全的区域大小/填充

问题描述

我正在使用 SafeArea 小部件,并且想要提取不在安全区域内的底部区域的高度。正如我尝试使用的其他来源所建议的那样,MediaQuery.of(context).padding但它总是返回EdgeInsets.zero. 有没有其他方法可以获取不在安全区域内的底部区域的大小?

编辑:

我将 SafeArea 小部件的底部属性设置为 true ( bottom: true),这始终导致EdgeInsets.zero. 设置bottom: false返回实际 SafeArea 的底部填充值。

标签: flutterpaddingflutter-layout

解决方案


要获得底部填充使用

final bottomPadding = MediaQuery.of(context).padding.bottom;

要获得顶部填充使用

final topPadding = MediaQuery.of(context).padding.top;

如果要获取用作颤振材质组件的 App Bar 的高度

AppBar appBar = new AppBar();
appBar.preferredSize.height;

推荐阅读