import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:making_school_asignment_app/common/config/app_config.dart'; import 'package:making_school_asignment_app/common/config/colorUtils.dart'; import 'package:making_school_asignment_app/common/store/user_store.dart'; import 'package:making_school_asignment_app/common/utils/storage.dart'; import 'package:making_school_asignment_app/common/utils/utils.dart'; import 'package:making_school_asignment_app/routes/app_pages.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; void main() async { // 在测试模式下运行Get Get.testMode = true; /// 初始化本地存储 await Get.putAsync(() => StorageService().init()); /// 初始化UserStore Get.put(UserStore().init()); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top, SystemUiOverlay.bottom]); // 屏幕刘海 SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); // 屏幕强制竖屏 WidgetsFlutterBinding.ensureInitialized(); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override Widget build(BuildContext context) { return ScreenUtilInit( designSize: const Size(AppConfig.UI_WIDTH, AppConfig.UI_HEIGHT), /* minTextAdapt: true, splitScreenMode: true,*/ builder: () => GetMaterialApp( title: '作业', theme: ThemeData( brightness: Brightness.light, primarySwatch: createMaterialColor(const Color.fromRGBO(46, 91, 255, 1)), primaryColor: const Color.fromRGBO(46, 91, 255, 1), // textTheme: Typography.englishLike2018.apply(fontSizeFactor: 1.sp,), primaryTextTheme: TextTheme( bodyLarge: TextStyle(fontSize: 14.sp, color: Colors.black87), ), useMaterial3: true, ), enableLog: true, logWriterCallback: (text, {bool isError = false}) { // isError ? LoggerUtils.e(text) : LoggerUtils.i(text); }, // 这里是国际化支持,确保添加flutter_localizations依赖 supportedLocales: const [ Locale('zh', 'CN'), // 中文简体 // 其他支持的locale可以在这里添加 ], localizationsDelegates: const [ // ...其他delegates GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, // 如果你使用了Cupertino风格的组件 // ...添加其他必要的delegates ], localeResolutionCallback: (locale, supportedLocales) { // 在这里可以实现自定义的locale解析逻辑 // 如果需要,返回你想要的Locale对象 return locale; }, //默认专场动画 defaultTransition: Transition.fade, //初始化路由页面 initialRoute: Routes.startPage, /// 路由表 getPages: AppPages.pages, builder: EasyLoading.init( builder: (context, child) { return MediaQuery( //Setting font does not change with system font size data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0), child: Scaffold( body: GestureDetector(onTap: () => Utils.hideKeyboard(), child: child), ), ); }, ), // home: const MyHomePage(title: 'Flutter Demo Home Page'), ), ); } }