flutter中经常需要获取很多系统宽高或者某个widget的宽高

1:手机屏幕的宽高,注意,系统提供两个方法,一个是MediuQuery.of(context).size.width,一个是window.physicalSize.width,这两个是有区别的,第一个是逻辑宽度,第二个是物理宽度,记住公式(物理宽度=逻辑宽度*密度系数),我们开发里面用的宽高基本上都是逻辑宽高,系统会帮我们自动转换成实际宽高

2:某个widget的宽高

final GlobalKey globalKey = GlobalKey();

container (
key: globalKey,
)

final width = globalKey.currentContext.size.width;
final height = globalKey.currentContext.size.height;
 

顶部状态栏高度

MediaQuery.of(context).padding.top

底部功能栏,现在有些手机没有了,老手机大部分都有

MediaQuery.of(context).padding.bottom

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐