当前位置: 首页 > news >正文

flutter 键盘弹出 都会重新Build

原因是调用MediaQuery.of(context)后,点击TextField组件时会导致调用build方法。

解决方法:在Scaffold组件的body嵌套Builder组件,然后设置一个BuildContext变量,将Builder组件中的context传递给BuildContext变量,然后用到的MediaQuery.of(context)中的context就是这个Builder中的context。

late BuildContext appContext; @overrideWidget build(BuildContext context) {return Scaffold(appBar: NavigatorWidget.buildAppBar(context, "选择"),backgroundColor: const Color(Co.routeBgColor2),body: Builder(builder: (BuildContext context) {appContext = context;这样即可:MediaQuery.of(appContext)


http://www.mrgr.cn/news/3380.html

相关文章:

  • ESLint详解及在WebStorm中的应用
  • GX Works2的使用方法
  • C++STL初阶(10):list的简易实现(下)
  • appium+python自动化测试
  • ChatGPT 3.5/4.0 新手使用手册(详细版)
  • 快讯 | 苹果拟于2026年推出1000美元桌面机器人,集成Siri智能技术
  • 如何通过SSH远程登录到docker容器内部
  • 人力总监的这一举动,让企业陷入了前所未有的困境
  • JQuery $.when $.deferred
  • CV学习笔记6-图像样本增强
  • 如何清理win备用内存?备用内存过大怎么办?
  • 【llamaindex和GraphRAG】
  • JS中构造函数继承问题注意事项总结
  • 备份docker所有镜像
  • 数据分析面试常见50个问题及解答要点
  • 力扣 411周赛
  • vue3+ts+vite+pinia+element-plus搭建一个项目
  • 武汉漂流记-第一集
  • 服务器托管:单线机房与双线机房之间的区别
  • 纯php+txt实现即时通讯