关于前端: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了

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理