#
whycq
2025-03-03 6a90c5bde0facc8330ce4c7c7d89292717b7ac65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:zy_wms_pda/theme/light_theme.dart';
import 'package:zy_wms_pda/theme/theme_controller.dart';
import 'package:zy_wms_pda/utile/i18n/en_US.dart';
import 'package:zy_wms_pda/utile/i18n/zh_CN.dart';
 
import 'getX/get_pages.dart';
 
void main() {
  runApp(
    ScreenUtilInit(
      designSize: Size(1260, 2720), // 设计稿的宽高尺寸
      minTextAdapt: true,  // 保证字体根据最小适配
      splitScreenMode: true,  // 支持分屏模式
      builder: (context, child) {
        return MyApp(); // 保证ScreenUtil初始化后才加载MyApp
      },
    ),
  );
  SystemChrome.setPreferredOrientations([
    // DeviceOrientation.landscapeLeft, // 横屏左
    // DeviceOrientation.landscapeRight, // 横屏右
    DeviceOrientation.portraitUp, // 竖屏上
    DeviceOrientation.portraitDown, // 竖屏下
  ]);
}
 
class MyApp extends StatelessWidget {
  final ThemeController themeController = Get.put(ThemeController());
 
  @override
  Widget build(BuildContext context) {
    return Obx(() {
      // 设置系统手势条颜色
      SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
        statusBarColor: Colors.transparent, // 状态栏颜色
        systemNavigationBarColor: themeController.bottomNavBarColor, // 底部导航条颜色
        systemNavigationBarIconBrightness: themeController.isDarkMode.value ? Brightness.light : Brightness.dark, // 图标亮度
      ));
      return GetMaterialApp(
        debugShowCheckedModeBanner: false,
        // translations: AppTranslations (), // 注册翻译
        // locale: Locale('en','US'),
        theme: themeController.isDarkMode.value
            ? ThemeData.dark()
            : LightTheme.customLightTheme,
        initialRoute: '/',
        getPages: pages,
      );
    });
  }
}
 
class HomeScreen extends StatelessWidget {
  final ThemeController themeController = Get.find();
 
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('GetX Theme Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            themeController.toggleTheme();
          },
          child: Text('切换主题'),
        ),
      ),
 
    );
  }
}
 
class AppTranslations  extends Translations {
  @override
  Map<String, Map<String, String>> get keys => {
    'zh_CN': zhCN,
    'en_US': enUS,
  };
}