flutter如何获取状态栏高度
在Flutter开发中,我需要获取手机状态栏的高度,但不知道具体该用什么方法。尝试过MediaQuery,但不确定获取的是否准确,还有其他更可靠的方式吗?希望了解跨平台兼容的解决方案。
2 回复
使用 MediaQuery.of(context).padding.top 获取状态栏高度。需在 BuildContext 可用时调用,例如在 build 方法中。
更多关于flutter如何获取状态栏高度的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中,可以通过 MediaQuery 获取状态栏高度。以下是具体方法:
代码示例:
double statusBarHeight = MediaQuery.of(context).padding.top;
使用场景:
- 通常在
build方法中调用 - 适用于需要避开状态栏的布局设计
注意事项:
- 确保
context可用(如在Widget的build方法内) - 返回值单位为逻辑像素(与设备像素密度无关)
完整示例:
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
child: // 你的其他组件
);
}
这种方法适用于 Android 和 iOS 平台,会自动返回当前设备的状态栏高度。

