【Flutter】 键盘弹出时出现多次调用build方法和升级到Flutter3.24后也会出现多次调用build方法问题

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

解决方法:

例如:
MediaQueryData mqd = MediaQuery.of(context); 
var size = mqd.size; // 获取大小
var padding = mqd.padding; // 获取内间距

换成下面这样
Size size = MediaQuery.sizeOf(context);
double padding = MediaQuery.paddingOf(context);

另外升级到Flutter 3.24.2 后路由传参的时候如果是使用

var args = ModalRoute.of(context)?.settings.arguments;

来获取前个路由传递的参数也会出现多次调用build方法问题,解决方法跟前面的例如MediaQuery.sizeOf()类似。

换成:var args = ModalRoute.settingsOf(context)?.arguments; 即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值