flutter - 在 Flutter 中查询小部件大小时大小不一致
问题描述
当someGlobalKey.currentContext.findRenderObject().size
用于查找占据整个屏幕的小部件的 RenderBox 时,我得到的结果与MediaQuery.of(context).size
在方法的帮助下动态进行此度量时不一致didChangeMetrics()
。
奇怪的是,这种不一致只发生在我在浏览器的最大化和窗口模式之间切换时,但是在手动进行任何细微更改后,RenderBox 测量值会立即修复(尽管仍有一点点差异,例如 1 个像素)。
这也发生在手机上,但我只能通过从纵向模式更改为横向模式并查看不一致的值来测试它。
我的猜测是渲染框的大小是在动画过渡的中间设置的,但我无法确认。
在这种情况下会有什么解决方案?
Flutter 版本:Channel stable,2.0.3,在 Linux 上,语言环境 en_US.UTF-8
Google Chrome 88.0.4324.182
这是GIF 示例中使用的代码的要点。
解决方案
推荐阅读
- javascript - 如何将日期格式转换为首选格式?
- selenium - Selenium python Gecko 不在路径中 [已解决]
- python - 雅虎邮件错误550,b'请求失败;信箱不可用'
- google-apps-script - 有值时,Google 表格脚本 GetValue/GetDisplayValue 返回 #N/A
- celery - 气流 dag - 任务立即进入 'up_for_retry' 状态('start_date' 是 1 天前)
- javascript - 在表中动态添加行 - Bootstrap & JS
- javascript - 如何从 url 隐藏 id?
- javascript - 如何使输入元素只读取决于两个变量的值
- json - 如何在 Swift 的 collectionview 中为 JSON 数据添加分页
- python - 从 kwargs 构建条件逻辑