首页 > 解决方案 > ScreenUtilInit - 颤动

问题描述

我是新开发的,所以我的 screenutilinit 函数有问题。我在 pubspec.yaml 文件中添加了依赖项“flutter_screenutil: ^4.0.2+3”,但它有错误提示“没有为类“MyApp”定义方法“ScreenUtilInit”。

上次代码适用于我的设计(很好),但由于我将项目文件迁移到新文件夹中,它下面有红色下划线。谁能告诉我为什么?

附加说明:我将项目文件迁移到新文件夹中,因为我的 firebase 设置有问题,因此我决定创建一个新项目并将 lib 文件复制并粘贴到新项目中。

这是我的 main.dart:

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:sparks/screens/Welcomecomponent/welcome.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
        designSize: Size(414, 896), allowFontScaling: false,
        child: MaterialApp(
          title: 'Spark',
          theme: ThemeData(
            //primarySwatch: Colors.white,
            visualDensity: VisualDensity.adaptivePlatformDensity,
          ),
          home: WelcomeScreen(),
        ));
  }
}

这是我的 pubspec.yaml 文件:

name: sparks
description: A new Flutter project.

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.0
  flutter_screenutil: ^4.0.2+3


dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

  uses-material-design: true

  assets:
    - assets/images/
    - assets/icons/
    - assets/fonts/

这是错误: 在此处输入图像描述

标签: flutter

解决方案


您尝试使用的 Widget 需要一个名为 builder() 的参数。并且 ScreenUtilInit 不接受 child: 参数。

尝试这个:

ScreenUtilInit(
  designSize: Size(360, 690),
  allowFontScaling: false,
  builder: () => MaterialApp(
    debugShowCheckedModeBanner: false,
    title: 'Flutter_ScreenUtil',
    theme: ThemeData(
      primarySwatch: Colors.blue,
    ),
    home: HomePage(),
  ),
);

推荐阅读