首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    2.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

    6.7K20
    领券