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

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();
}
}