解决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 了
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 解决Flutter使用ScreenUtil获取屏幕宽高初始化报错
码云笔记 » 解决Flutter使用ScreenUtil获取屏幕宽高初始化报错