diff --git a/lib/pages/opening_code_page/opening_code_page.dart b/lib/pages/opening_code_page/opening_code_page.dart index 072ca80d..5d2aff04 100644 --- a/lib/pages/opening_code_page/opening_code_page.dart +++ b/lib/pages/opening_code_page/opening_code_page.dart @@ -130,23 +130,23 @@ class _OpeningCodePageState extends State { child: Column( children: [ 107.hb, - Container( - width: 192.w, - height: 42.w, - decoration: BoxDecoration( - color: Colors.black.withOpacity(0.06), - borderRadius: - BorderRadius.circular(45.w)), - alignment: Alignment.center, - child: Text( - UserTool.userProvider.userInfoModel! - .nickName ?? - "", - style: TextStyle( - color: Colors.black, fontSize: 24.sp), - ), - ), - 48.hb, + // Container( + // width: 192.w, + // height: 42.w, + // decoration: BoxDecoration( + // color: Colors.black.withOpacity(0.06), + // borderRadius: + // BorderRadius.circular(45.w)), + // alignment: Alignment.center, + // child: Text( + // UserTool.userProvider.userInfoModel! + // .nickName ?? + // "", + // style: TextStyle( + // color: Colors.black, fontSize: 24.sp), + // ), + // ), + // 48.hb, Text( '2栋 1单元 1402室', style: TextStyle( diff --git a/lib/pages/tab_navigator.dart b/lib/pages/tab_navigator.dart index 4e7f1b87..c1fb22ba 100644 --- a/lib/pages/tab_navigator.dart +++ b/lib/pages/tab_navigator.dart @@ -1,11 +1,12 @@ -import 'package:aku_new_community/const/resource.dart'; import 'package:aku_new_community/gen/assets.gen.dart'; +import 'package:aku_new_community/pages/opening_code_page/opening_code_page.dart'; import 'package:aku_new_community/pages/sign/login/other_login_page.dart'; import 'package:aku_new_community/provider/app_provider.dart'; import 'package:aku_new_community/ui/community/community_views/community_page.dart'; import 'package:aku_new_community/ui/market/market_page.dart'; import 'package:aku_new_community/utils/websocket/web_socket_util.dart'; import 'package:aku_new_community/widget/bee_scaffold.dart'; +import 'package:aku_new_community/widget/dialog/certification_dialog.dart'; import 'package:aku_new_community/widget/others/user_tool.dart'; import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; @@ -48,6 +49,7 @@ class _TabNavigatorState extends State HomePage(), MarketPage(), // PropertyPage(), + OpeningCodePage(), CommunityPage(), PersonalIndex() ]; @@ -56,51 +58,123 @@ class _TabNavigatorState extends State length: _pages.length, vsync: this, initialIndex: widget.index ?? 0); } - _buildBottomBar( + Widget _buildBottomBar( String title, String unselected, String selected, + int index, ) { - return BottomNavigationBarItem( - icon: Image.asset( - unselected, - height: 44.w, - width: 44.w, - color: Colors.black38, - ), - activeIcon: Image.asset( - selected, - height: 44.w, - width: 44.w, + return Expanded( + child: GestureDetector( + onTap: () { + if (UserTool.userProvider.isLogin == false) { + //暂时隐去一键登录页 + Get.offAll(() => OtherLoginPage()); + } else { + _tabController!.animateTo(index, curve: Curves.easeInOutCubic); + _currentIndex = index; + setState(() {}); + } + }, + child: Material( + color: Colors.transparent, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.only(top: 48.w), + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _currentIndex != index + ? Image.asset( + unselected, + height: 44.w, + width: 44.w, + color: Colors.black38, + ) + : Image.asset( + selected, + height: 44.w, + width: 44.w, + ), + Text( + title, + style: TextStyle( + color: _currentIndex != index + ? Color(0xFFA6ABB1) + : Color(0xFF333333), + fontWeight: _currentIndex == index + ? FontWeight.bold + : FontWeight.normal, + fontSize: 22.sp), + ) + ], + )), + ), ), - label: title, ); } @override Widget build(BuildContext context) { //底部导航来 - List _bottomNav = [ + List _bottomNav = [ _buildBottomBar( '首页', Assets.home.icShouyeNor.path, Assets.home.icShouyeSel.path, + 0, ), _buildBottomBar( '商城', - R.ASSETS_ICONS_TABBAR_MARKET_NO_PNG, - R.ASSETS_ICONS_TABBAR_MARKET_PNG, + Assets.home.icShangcNor.path, + Assets.home.icShangcSel.path, + 1, + ), + Expanded( + child: GestureDetector( + onTap: () { + if (UserTool.userProvider.isLogin == false) { + //暂时隐去一键登录页 + Get.offAll(() => OtherLoginPage()); + } else {} + if (UserTool.userProvider.userInfoModel?.name == null) { + Get.dialog(CertificationDialog()); + } else { + _tabController!.animateTo(2, curve: Curves.easeInOutCubic); + _currentIndex = 2; + setState(() {}); + } + }, + child: Material( + color: Colors.transparent, + child: Center( + child: Container( + width: 108.w, + height: 108.w, + margin: EdgeInsets.only(top: 26.w), + alignment: Alignment.center, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(54.w), + color: Color(0xFFFDE019), + ), + child: Assets.home.icKaimen.image(width: 80.w, height: 80.w), + ), + ), + ), + ), ), - BottomNavigationBarItem(icon: Container()), _buildBottomBar( '社区', Assets.home.icShequNor.path, Assets.home.icShequSel.path, + 3, ), _buildBottomBar( '我的', Assets.home.icWodeNor.path, Assets.home.icWodeSel.path, + 4, ), ]; return BeeScaffold( @@ -123,24 +197,21 @@ class _TabNavigatorState extends State physics: NeverScrollableScrollPhysics(), ), ), - bottomNavi: StatefulBuilder(builder: (context, setFunc) { - return BottomNavigationBar( - items: _bottomNav, - backgroundColor: Colors.white, - currentIndex: _currentIndex, - selectedFontSize: 20.sp, - unselectedFontSize: 20.sp, - onTap: (index) { - if (UserTool.userProvider.isLogin == false) { - //暂时隐去一键登录页 - Get.offAll(() => OtherLoginPage()); - } else { - _tabController!.animateTo(index, curve: Curves.easeInOutCubic); - setFunc(() => _currentIndex = index); - } - }, - ); - }), + bottomNavi: ConstrainedBox( + constraints: BoxConstraints(maxWidth: 750.w, maxHeight: 146.w), + child: Container( + margin: + EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom), + decoration: BoxDecoration( + image: DecorationImage( + image: Assets.home.imgTabdi, fit: BoxFit.fitWidth), + color: Colors.transparent), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: _bottomNav.cast().toList(), + ), + ), + ), ); } }