import 'dart:async'; import 'dart:io' show Platform; import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart' show BMFMapSDK, BMF_COORD_TYPE; import 'package:flutter_screenutil/screenutil_init.dart'; import 'package:hyzp_ybqx511505_sanjiang_new_area_launche/pages/Login/LoginTabs2.dart'; import 'package:hyzp_ybqx511505_sanjiang_new_area_launche/pages/MyMsics/05_updated/MyUpdatedNew.dart'; import 'package:hyzp_ybqx511505_sanjiang_new_area_launche/pages/Works/TJXX/tj_data.dart'; import 'package:package_info/package_info.dart'; // 引入provider import 'package:provider/provider.dart'; import 'components/commonFun.dart'; import 'file_manager/file_manager_init.dart'; import 'provider/player_ratio.dart'; import 'provider/player_region.dart'; import 'routers/router.dart'; void main() { //file_manager_load(); //runApp(MyApp()); WidgetsFlutterBinding.ensureInitialized(); //必须要添加这个进行初始化 否则下面会错误 //Flutter 强制竖屏 SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, // 纵向,portrait 肖像 // DeviceOrientation.portraitDown, // 旋转180度 // DeviceOrientation.landscapeLeft, //顺时针旋转90度 // DeviceOrientation.landscapeRight, //逆时针旋转90度 ]).then((_) { checkPermission(); //请求用户授权 }); } // class LoadMyApp extends StatefulWidget { // LoadMyApp({Key key}) : super(key: key); // // _LoadMyAppState createState() => _LoadMyAppState(); // } // // class _LoadMyAppState extends State { // @override // Widget build(BuildContext context) { // return new MaterialApp( // //title: "LoadActivity", // home: MyApp(), // ); // } // } class MyApp extends StatefulWidget { MyApp({Key key}) : super(key: key); _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { @override void initState() { initApp(); startGetStatisDataNew(); PackageInfo.fromPlatform().then((PackageInfo packageInfo) async { String appName = packageInfo.appName; String packageName = packageInfo.packageName; String version = packageInfo.version; String buildNumber = packageInfo.buildNumber; String buildDate = '${buildNumber.substring(0, 4)}.${buildNumber.substring(4, 6)}.${buildNumber.substring(6, 8)}'; print('appName = $appName'); print('packageName = $packageName'); print('version = $version'); print('buildNumber = $buildNumber'); print('buildDate = $buildDate'); // I/flutter (30820): appName = 宜宾市翠屏黑烟抓拍 // I/flutter (30820): packageName = com.flutter.hyzp_ybqx511505_sanjiang_new_area_launche // I/flutter (30820): version = 1.3.1 // I/flutter (30820): buildNumber = 20210508 // I/flutter (30820): buildDate = 2021.05.08 //Fluttertoast.showToast(msg: '当前版本 v$version。暂无更新', gravity: ToastGravity.CENTER); // Navigator.of(context).push(MaterialPageRoute( // builder: (context) => MyUpdated(ver: version, date: buildDate, theContext: context))); MyUpdatedNew m = await MyUpdatedNew( ver: version, date: buildDate, theContext: context, bStartUpdated: true); }); super.initState(); } void initApp() async { // await getFileName2().then((value) { // readUrlFile2().then((value) => writeUrlFile2()); // }); getAndroidId().then((value) { g_userInfo.thisAndroidId = value; // 百度地图sdk初始化鉴权 if (Platform.isIOS) { BMFMapSDK.setApiKeyAndCoordType('I022V5cRWKDn8gguTTa1gbxqPMYWU4G0', BMF_COORD_TYPE.BD09LL); } else if (Platform.isAndroid) { // Android 目前不支持接口设置Apikey, // 请在主工程的Manifest文件里设置,详细配置方法请参考官网(https://lbsyun.baidu.com/)demo BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL); } }); } //@override // Widget build(BuildContext context) { // return ScreenUtilInit( // designSize: Size(360, 690), // allowFontScaling: false, // builder: () => MaterialApp( // debugShowCheckedModeBanner: false, // title: 'Flutter_ScreenUtil', // theme: ThemeData( // primarySwatch: Colors.blue, // ), // home: HomePage(title: 'FlutterScreenUtil Demo'), // ), // ); // } @override Widget build(BuildContext context) { //ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context); //750:1334 //默认 width : 1080px , height:1920px , allowFontScaling:false //double width = MediaQuery.of(context).size.width; //sizeMediaQuery = MediaQuery.of(context).size; //这样不对 print('sizeMediaQuery = $sizeWindowPhysicalSize'); //size: Size(360.0, 674.7) //自动适应安卓手机系统分辨率,解决 S10 手机正方形变形问题 print('window.physicalSize = ${window.physicalSize}'); //window.physicalSize = Size(1080.0, 2136.0) sizeWindowPhysicalSize = window.physicalSize; //double _heigth = 1080 * 16 / 9; double _heigth = 1080 * sizeWindowPhysicalSize.height / sizeWindowPhysicalSize.width; print('_heigth = $_heigth'); return ScreenUtilInit( designSize: Size(1080, _heigth), //安卓手机宽高尺寸,_heigth = 1080 * 16 / 9; //designSize: Size(1080, 1920), //安卓手机宽高尺寸,_heigth = 1080 * 16 / 9; //designSize: Size(750, 1334), //统一使用美工设计的宽高尺寸,苹果比例 //designSize: sizeWindowPhysicalSize, //自动适应安卓手机系统分辨率,解决 S10 手机正方形变形问题 allowFontScaling: false, builder: () => MultiProvider( providers: [ // ChangeNotifierProvider(builder: (_) => Counter()), // ChangeNotifierProvider(builder: (_) => Cart()), // ChangeNotifierProvider(builder: (_) => CheckOut()), // ChangeNotifierProvider(builder: (_) => PlayerRegionProvide()), // ChangeNotifierProvider(builder: (_) => PlayerRatioProvide()), ChangeNotifierProvider(create: (context) => PlayerRegionProvide()), ChangeNotifierProvider(create: (context) => PlayerRatioProvide()), ], child: MaterialApp( home: LoginTabs2(), debugShowCheckedModeBanner: false, initialRoute: '/', onGenerateRoute: onGenerateRoute, theme: ThemeData( // primaryColor: Colors.yellow primaryColor: Colors.white), ), ), ); // return MultiProvider( // providers: [ // // ChangeNotifierProvider(builder: (_) => Counter()), // // ChangeNotifierProvider(builder: (_) => Cart()), // // ChangeNotifierProvider(builder: (_) => CheckOut()), // // ChangeNotifierProvider(builder: (_) => PlayerRegionProvide()), // // ChangeNotifierProvider(builder: (_) => PlayerRatioProvide()), // ChangeNotifierProvider(create: (context) => PlayerRegionProvide()), // ChangeNotifierProvider(create: (context) => PlayerRatioProvide()), // ], // // child: MaterialApp( // home: LoginTabs(), // debugShowCheckedModeBanner: false, // initialRoute: '/', // onGenerateRoute: onGenerateRoute, // theme: ThemeData( // // primaryColor: Colors.yellow // primaryColor: Colors.white), // ), // ); } } class SplashScreen extends StatefulWidget { @override _SplashScreenState createState() => new _SplashScreenState(); } class _SplashScreenState extends State { startTime() async { //设置启动图生效时间 var _duration = new Duration(seconds: 2); return new Timer(_duration, navigationPage); } void navigationPage() { Navigator.of(context).pushReplacementNamed('/home'); } @override void initState() { super.initState(); startTime(); } @override Widget build(BuildContext context) { // return new Scaffold( // body: new Center( // child: new Image.asset('assets/images/hyzp_yibin_launche.png', fit: BoxFit.fill), // // child: new Image.asset('assets/images/hyzp_ybqx01_cuiping_launche.png'), // ), // ); // return Container( // width: MediaQuery.of(context).size.width, // 屏幕宽度 // height: MediaQuery.of(context).size.height, // 屏幕高度 // child: Image.asset('assets/images/hyzp_yibin_launche.png', fit: BoxFit.cover), // ); //final double statusBarHeight = MediaQuery.of(context).padding.top; return Scaffold( body: Column( children: [ SizedBox(height: MediaQuery.of(context).padding.top), // 不覆盖顶部状态栏 Container( width: MediaQuery.of(context).size.width, // 屏幕宽度 height: MediaQuery.of(context).size.height - MediaQuery.of(context).padding.top, // 屏幕高度 // child: Image.asset('assets/images/hyzp_ybqx00_yibin_launche.png', fit: BoxFit.cover), // child: Image.asset('assets/images/hyzp_ybqx01_cuiping_launche.png', fit: BoxFit.cover), child: Image.asset('assets/images/hyzp_ybqx511505_sanjiang_new_area_launche.png', fit: BoxFit.cover)), ], ), ); } }