hyzp_ybqx-Commit001:代码刚转换好,编译通过

This commit is contained in:
WinUser01
2021-12-09 20:24:36 +08:00
commit 8c74b14e5c
800 changed files with 66912 additions and 0 deletions
+190
View File
@@ -0,0 +1,190 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; //import 'package:flustars/flustars.dart' as flustars; //该组件中有ScreenUtil,// 获取网络图片尺寸flustars.WidgetUtil
import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart';
import 'package:hyzp_ybqx/services/EventBus.dart';
import 'package:hyzp_ybqx/widget/my_Tabs.dart' as my_Tabs;
import '../../components/commonFun.dart';
import '../../services/Storage.dart';
import 'FaceLogin2.dart';
import 'LoginByName2.dart';
// class LoginTabsWidget extends StatelessWidget {
// // This widget is the root of your application.
// @override
// Widget build(BuildContext context) {
// //Flutter 强制竖屏
// SystemChrome.setPreferredOrientations([
// DeviceOrientation.portraitUp, //只能纵向
// DeviceOrientation.portraitDown, //只能纵向
// ]);
//
// return MaterialApp(
// debugShowCheckedModeBanner: false,
// title: 'Flutter Demo',
// theme: ThemeData(
// primarySwatch: Colors.blue,
// visualDensity: VisualDensity.adaptivePlatformDensity,
// ),
// home: MyHomePage(title: 'Flutter Demo Home Page'),
// );
// }
// }
class LoginTabsWidget extends StatefulWidget {
LoginTabsWidget({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<LoginTabsWidget> with SingleTickerProviderStateMixin {
int loginTabs_index = 0;
//用TabController实现顶部tab切换
TabController _tabController;
//try_setState(); //避免如下异常报错
try_setState() {
try {
setState(() {});
} catch (e) {
print('setState(() {})异常:${e}');
}
}
@override
void initState() {
super.initState();
//若下面文件不存在,
// /data/data/com.flutter.hyzp_ybqx/shared_prefs/FlutterSharedPreferences.xml
// value为null, 会抛出异常:
// [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Invalid argument(s): The source must not be null
// int.parse (dart:core-patch/integers_patch.dart:51:25)
Storage.getString("tabs_index").then((value) {
g_iIndex = (null == value) ? 0 : int.parse(value);
});
Storage.getString("LoginTabs_index").then((value) {
loginTabs_index = (null == value) ? 0 : int.parse(value);
print('loginTabs_index = ${loginTabs_index}');
//用TabController实现顶部tab切换,并设置默认 Tab。initialIndex: loginTabs_index
_tabController = TabController(vsync: this, length: 2, initialIndex: loginTabs_index);
//监听 _tabController 切换事件
_tabController.addListener(() {
Storage.setString("LoginTabs_index", _tabController.index.toString());
print('_tabController.index = ${_tabController.index}');
});
//Flutter DefaultTabController 获取/设置当前 Tab - OK
DefaultTabController.of(_scaffoldKey.currentContext).animateTo(loginTabs_index);
try_setState();
});
//监听统计数据改变事件
eventBus.on<StatisDataUpdate>().listen((event) {
print(event.str);
updateMayLogin();
});
}
//处理延迟登录
updateMayLogin() {
//判断从网络获取三种统计数据是否完成
// if (listZptjStatisAlone.length >= dwSum &&
// listTodayShtj.length >= dwSum &&
// listClltjStatisAlone.length >= dwSum) {
// bMayLogin = true;
// }
if (listAllStatisData.length >= dwSum) {
bMayLogin = true;
} else {
bMayLogin = false;
}
try_setState();
}
dispose() {
_tabController?.dispose();
super.dispose();
}
double _height = ScreenUtil().setHeight(1026);
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
height: _height,
child: DefaultTabController(
length: 2,
child: Scaffold(
key: _scaffoldKey,
backgroundColor: Colors.transparent,
appBar: PreferredSize(
preferredSize: Size.fromHeight(50), // here the desired height
child: AppBar(
backgroundColor: Colors.transparent,
bottom: TabBar(
controller: _tabController,
indicatorSize: TabBarIndicatorSize.label,
labelColor: Color.fromRGBO(49, 216, 123, 1),
unselectedLabelColor: Color.fromRGBO(118, 135, 162, 1),
//tabs: <Widget>[Tab(text: " 密码登录 "), Tab(text: " 刷脸登录 ")],
tabs: <Widget>[
my_Tabs.MyTab(
text: " 密码登录 ",
style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold)),
my_Tabs.MyTab(
text: " 刷脸登录 ",
style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold))
],
// tabs: <Widget>[
// Text(" 密码登录 ", style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold)),
// Text(" 刷脸登录 ", style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold)),
// ],
),
),
),
body: Stack(
children: [
TabBarView(
controller: _tabController,
//flutter tabbar禁止手势滑动-OK
physics: new NeverScrollableScrollPhysics(),
children: <Widget>[
LoginByName2(height: _height),
FaceLogin2(),
],
),
// bMayLogin
// ? SizedBox.shrink()
// : Positioned(
// left: ScreenUtil().setWidth(0),
// right: ScreenUtil().setWidth(0),
// top: ScreenUtil().setHeight(297),
// child: Container(
// height: 200,
// width: 400,
// child: getMoreWidget2(
// text: '正在获取网络数据 ...',
// color: Colors.orangeAccent,
// size: 25.0,
// strokeWidth: 3.0,
// fontWeight: FontWeight.w600,
// edge: 0,
// height: 60,
// ), //显示加载中的圈圈,
// ),
// ),
],
),
),
),
);
}
}