141 lines
4.2 KiB
Dart
Executable File
141 lines
4.2 KiB
Dart
Executable File
import 'package:flutter/material.dart';
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:star_lock/app_settings/app_colors.dart';
|
|
import 'package:star_lock/baseWidget.dart';
|
|
import 'package:star_lock/main/lockMian/lockMain/lockMain_page.dart';
|
|
import 'package:star_lock/main/lockMian/lockMain/xhj/lockMain_xhj_logic.dart';
|
|
import 'package:star_lock/mine/message/messageList/messageList_xhj_page.dart';
|
|
import 'package:star_lock/mine/mineSet/mineSet/mineSet_page.dart';
|
|
|
|
class StarLockMainXHJPage extends StatefulWidget {
|
|
const StarLockMainXHJPage({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<StarLockMainXHJPage> createState() => _StarLockMainXHJPageState();
|
|
}
|
|
|
|
class _StarLockMainXHJPageState extends State<StarLockMainXHJPage>
|
|
with BaseWidget {
|
|
final PageController _pageController = PageController();
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
}
|
|
|
|
@override
|
|
void didChangeDependencies() {
|
|
super.didChangeDependencies();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return GetBuilder<LockMainXHJLogic>(
|
|
init: LockMainXHJLogic(),
|
|
builder: (LockMainXHJLogic logic) {
|
|
return Scaffold(
|
|
backgroundColor: Colors.white,
|
|
body: PageView(
|
|
controller: _pageController,
|
|
physics: const NeverScrollableScrollPhysics(), // 禁止滑动
|
|
children: <Widget>[
|
|
StarLockMainPage(
|
|
showAppBar: false,
|
|
showDrawer: false,
|
|
),
|
|
// xhj 不需要显示商城
|
|
// SafeArea(
|
|
// bottom: false,
|
|
// child: LockMallPage(
|
|
// allowReturn: false,
|
|
// ),
|
|
// ),
|
|
SafeArea(
|
|
bottom: false,
|
|
child: MessageListXHJPage(
|
|
showAppBar: false,
|
|
),
|
|
),
|
|
SafeArea(
|
|
bottom: false,
|
|
child: MineSetPage(
|
|
showAppBar: false,
|
|
showAbout: true,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
bottomNavigationBar: buildBottomNavigationBar(logic),
|
|
);
|
|
});
|
|
}
|
|
|
|
Widget buildBottomNavigationBar(LockMainXHJLogic logic) {
|
|
return Container(
|
|
padding:
|
|
EdgeInsets.only(top: 20.h, bottom: GetPlatform.isAndroid ? 20.h : 0),
|
|
decoration: const BoxDecoration(
|
|
color: Colors.transparent,
|
|
border: Border(top: BorderSide(color: Colors.black, width: 0.3)),
|
|
),
|
|
child: SafeArea(
|
|
top: false,
|
|
child: Row(
|
|
children: <Widget>[
|
|
navigationBarItem(logic, Icons.key, '设备'.tr, 0),
|
|
// xhj 不需要显示商城
|
|
// navigationBarItem(logic, Icons.shopping_cart, '商城'.tr, 1),
|
|
navigationBarItem(logic, Icons.message, '消息'.tr, 1),
|
|
navigationBarItem(logic, Icons.account_circle, '我的'.tr, 2),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
Widget navigationBarItem(
|
|
LockMainXHJLogic logic, IconData icon, String text, int index) {
|
|
return Expanded(
|
|
child: GestureDetector(
|
|
onTap: () {
|
|
_pageController.jumpToPage(index);
|
|
logic.setIndex(index);
|
|
},
|
|
child: Container(
|
|
color: Colors.transparent,
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: <Widget>[
|
|
Padding(
|
|
padding: EdgeInsets.only(bottom: 8.h),
|
|
child: Icon(
|
|
icon,
|
|
size: 32.r,
|
|
color: logic.state.index == index
|
|
? AppColors.mainColor
|
|
: AppColors.darkGrayTextColor,
|
|
),
|
|
),
|
|
Text(
|
|
text,
|
|
style: TextStyle(
|
|
fontSize: 16.sp,
|
|
color: logic.state.index == index
|
|
? AppColors.mainColor
|
|
: AppColors.darkGrayTextColor,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
super.dispose();
|
|
}
|
|
}
|