flutter 键盘弹出 都会重新Build

server/2024/12/23 9:21:17/

原因是调用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.ppmy.cn/server/105280.html

相关文章

C#/WinForm实现炸弹人游戏

游戏类设计 代码地址(gitee):炸弹人游戏: WinForm实现炸弹人游戏

线程池详解

概念 线程池(Thread Pool)是一种基于池化技术的多线程处理形式,用于管理线程的创建和生命周期,以及提供一个用于并行执行任务的线程队列。线程池的主要目的是减少在创建和销毁线程时所花费的开销和资源,提高程序性能&a…

在Excel中“直接引用”字符串地址

indirect是Excel唯一可以拥有直接解析字符串引用地址参数能力的函数,是绝无仅有的宝贝疙瘩。 (笔记模板由python脚本于2024年08月21日 12:45:49创建,本篇笔记适合喜欢用Excel处理数据的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:ht…

STM32————SPI硬件外设实现读写

首先是理论知识: 常用8位数据帧、高位先行 SPI的时钟由PCLK内部时钟分频得来,最大可到36MHz 精简为半双工就是去掉一根数据线后,用剩下的一根作为发送/接收数据;单工就是去掉接收线,只用发送线进行发送数据&#xf…

除毛大作战,选择你的清理工具——希喂、美的宠物空气净化器PK

随着气温的升高,又到了宠物的换毛季。猫咪在家里疯狂掉毛,而铲屎官也陷入清理难题。幸好,有宠物空气净化器可以帮助铲屎官减轻打扫负担。那么宠物空气净化器又该如何挑选呢?哪款宠物空气净化器效果更佳?我也很想知道答…

Linux安装显卡驱动

本文详细阐述了在Linux系统中安装显卡驱动的步骤和注意事项。首先,文章介绍了显卡驱动的重要性,以及为什么需要安装或更新显卡驱动。接着,针对不同类型的显卡(如NVIDIA、AMD等),文章提供了具体的安装步骤和…

ansible[自动配置]

回顾 1、mysql和python (1)不需要执行mysql_ssl_rsa_setup (2)Change_master_to.不需要get public key 2、可以使用pymysql非交互的管理mysql (1)connpymysql.connect(host,user,password,database,prot)…

数字化技术分别有哪些,数字化技术特点和优势是什么?

​随着企业数字化进程的加速,人工智能、工业互联网、低代码等底层技术正全面重塑企业运营生产体系,推动新的生产要素、研发范式和商业模式的建立。 这个变革过程不仅是对原有制造体系的颠覆,而且会影响各行各业的所有细分行业和产业链价值链…