解决Flutter使用ScreenUtil获取屏幕宽高初始化报错

报错如下

解决Flutter使用ScreenUtil获取屏幕宽高初始化报错

原因

我们在布局中使用ScreenUtil().screenWidth获取屏幕宽度是,在初始化未装载视图时,第一次获取时拿不到,会出现如上的崩溃。

解决方案

import 'package:flutter_screenutil/screenutil_init.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@override
Widget build(BuildContext context) {
  //使用屏幕初始化包裹整个body布局
  return ScreenUtilInit(
    //设置初始化屏幕大小
    designSize: Size(375, 812),
    builder: () => Scaffold(
      backgroundColor: WBColors.color_f4f5f7,
      body: Container(
          height: 263.5,
          width: ScreenUtil().screenWidth,
        )
    )
  );
}
  • 使用ScreenUtilInit屏幕初始化组件包裹整个页面布局最外层
  • 设置屏幕初始大小
  • body里面可任意使用获取屏幕宽高的API了

「点点赞赏,手留余香」

2

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 解决Flutter使用ScreenUtil获取屏幕宽高初始化报错

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们