首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter 中键盘弹起时,Scaffold 发生了什么变化

) { print("Main MediaQuery padding: ${MediaQuery.of(context).padding} viewInsets.bottom: ${MediaQuery.of...) { print("Custom MediaQuery padding: ${MediaQuery.of(context).padding} viewInsets.bottom: ${MediaQuery.of...(context).paddingMediaQuery.of(context).viewInsets.bottom 的值; 如下图所示,在键盘弹起和不弹起时可以看到 padding 值是不同的,...image 为什么 padding 值的 top 会不一致,自然是因为 CustomWidget 和 MainWidget获取到的 MediaQuery.of(context) 对象不是同一个数据。...事实上这就是大家为什么有时候 MediaQuery.of( context) 可以获取到状态栏高度,有时候又获取不到的原因,因为你的 context 获取到的是 Scaffold 之外的 MediaQueryData

1.6K20

【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )

全面屏适配方法 : 在 顶部 和 底部 留出足够的 安全区域 ; 方案一 : Flutter 中提供了一个 SafeArea 组件 , 使用该组件 包裹 页面 , 可以实现适配 ; 方案二 : 使用 MediaQuery.of...(context).padding 获取屏幕四个方向上的 Padding ; 四、反面示例 ( 留海遮挡内容 ) ---- 华为 Mate 30 手机中 , 使用如下代码 , 显示的内容 , 顶部没有预留足够的安全区域...runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context...) { /// 获取当前的 padding 信息 final EdgeInsets edgeInsets = MediaQuery.of(context).padding; return...Container( decoration: BoxDecoration( color: Colors.white, ), padding: EdgeInsets.fromLTRB

3.9K20
领券