var height = MediaQuery.of(context).viewPadding.top;
注意: 这只会在移动设备上运行,因为其他平台没有专门的状态栏,它们会返回0.0
。
MediaQuery
很酷,但如果您没有访问BuildContext
,则可以直接使用window.viewPadding.top
,其中window
来自dart:ui
:
import 'dart:ui';
final statusBarHeight = window.viewPadding.top;
注意:如Dart文档所述,这可能包括状态栏以外的其他内容,因此在使用这些API时要小心。
我不知道为什么,但在某些情况下,我们会在WidgetTree的叶子节点上丢失MediaQuery数据。 尝试使用与Scaffold相同的上下文获取MediaQuery,这样应该就可以解决问题了。
import 'package:get/get.dart';
状态栏高度
要获取状态栏高度,请使用以下代码:
Get.statusBarHeight;
底部栏高度
要获取底部栏的高度,请使用以下代码:
Get.bottomBarHeight;
屏幕高度
要获取屏幕高度,请使用以下代码:
Get.height;
屏幕宽度
要获取屏幕宽度,请使用以下代码:
Get.width;
此外,您可以使用 SafeArea()
小部件来忽略覆盖层。只需将该小部件包装在您的小部件周围即可使用。
0.0
- omega_miMediaQuery.of(context).padding.top
返回什么? - iDecode