app-starlock/lib/main/lockMian/lockMain/xhj/lockMain_xhj_page.dart

141 lines
4.2 KiB
Dart
Raw Normal View History

2024-04-15 14:09:23 +08:00
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';
2024-04-29 10:45:49 +08:00
import 'package:star_lock/mine/message/messageList/messageList_xhj_page.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_page.dart';
2024-04-15 14:09:23 +08:00
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();
2024-04-15 14:09:23 +08:00
@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(
2024-04-28 18:26:31 +08:00
backgroundColor: Colors.white,
2024-06-07 11:12:45 +08:00
body: PageView(
controller: _pageController,
physics: const NeverScrollableScrollPhysics(), // 禁止滑动
children: <Widget>[
2024-06-07 11:12:45 +08:00
StarLockMainPage(
showAppBar: false,
showDrawer: false,
2024-04-28 18:26:31 +08:00
),
2024-07-05 09:37:05 +08:00
// xhj 不需要显示商城
// SafeArea(
// bottom: false,
// child: LockMallPage(
// allowReturn: false,
// ),
// ),
2024-06-07 11:12:45 +08:00
SafeArea(
bottom: false,
child: MessageListXHJPage(
showAppBar: false,
2024-04-28 09:05:24 +08:00
),
2024-04-28 18:26:31 +08:00
),
2024-06-07 11:12:45 +08:00
SafeArea(
bottom: false,
child: MineSetPage(
showAppBar: false,
showAbout: true,
2024-04-15 16:20:22 +08:00
),
2024-04-28 18:26:31 +08:00
),
],
2024-04-15 14:09:23 +08:00
),
2024-06-07 11:12:45 +08:00
bottomNavigationBar: buildBottomNavigationBar(logic),
2024-04-15 14:09:23 +08:00
);
});
}
2024-06-07 11:12:45 +08:00
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),
2024-07-05 09:37:05 +08:00
// xhj 不需要显示商城
// navigationBarItem(logic, Icons.shopping_cart, '商城'.tr, 1),
navigationBarItem(logic, Icons.message, '消息'.tr, 1),
navigationBarItem(logic, Icons.account_circle, '我的'.tr, 2),
2024-06-07 11:12:45 +08:00
],
),
2024-04-15 14:09:23 +08:00
),
);
}
2024-06-07 11:12:45 +08:00
Widget navigationBarItem(
LockMainXHJLogic logic, IconData icon, String text, int index) {
2024-04-15 14:09:23 +08:00
return Expanded(
child: GestureDetector(
2024-06-07 11:12:45 +08:00
onTap: () {
_pageController.jumpToPage(index);
logic.setIndex(index);
},
2024-04-15 14:09:23 +08:00
child: Container(
color: Colors.transparent,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
2024-04-15 14:09:23 +08:00
Padding(
padding: EdgeInsets.only(bottom: 8.h),
child: Icon(
icon,
size: 32.r,
2024-06-07 11:12:45 +08:00
color: logic.state.index == index
? AppColors.mainColor
: AppColors.darkGrayTextColor,
2024-04-15 14:09:23 +08:00
),
),
Text(
text,
style: TextStyle(
fontSize: 16.sp,
2024-06-07 11:12:45 +08:00
color: logic.state.index == index
? AppColors.mainColor
: AppColors.darkGrayTextColor,
2024-04-15 14:09:23 +08:00
),
),
],
),
),
),
);
}
@override
void dispose() {
super.dispose();
}
}