Translate-Flutter/lib/main.dart
2024-07-24 11:59:36 +08:00

72 lines
2.2 KiB
Dart
Executable File

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
import 'package:get/get.dart';
import 'package:trans_lark/global/flutter_tts_manager.dart';
import 'package:trans_lark/global/global_config.dart';
import 'package:trans_lark/global/translate_manager.dart';
import 'package:trans_lark/hive/hive_storage.dart';
import 'package:trans_lark/router/get_router.dart';
import 'package:trans_lark/util/t_print.dart';
import 'package:trans_lark/widget/t_base_easy_loading.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化Hive
await initHive();
// 竖屏
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
// 设置安卓状态栏背景色透明
if (Platform.isAndroid) {
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
));
}
await TranslateManager().init();
await FlutterTtsManager().init();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final easyLoading = EasyLoading.init();
return KeyboardDismissOnTap(
child: GetMaterialApp(
debugShowCheckedModeBanner: false,
title: GlobalConfig.appName,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(
seedColor: const Color.fromARGB(255, 185, 239, 200),
),
useMaterial3: true,
),
initialRoute: GetRouter.index,
getPages: GetRouter.routers,
defaultTransition: Transition.rightToLeft,
builder: (context, widget) {
TBaseEasyLoading.configLoading();
widget = easyLoading(context, widget);
// 设置文字大小不随系统设置改变
return MediaQuery.withNoTextScaling(child: widget);
},
routingCallback: (routing) {
TPrint.d("路由变化 ${routing?.current}");
}),
);
}
}