starwork_flutter/lib/views/accessControlManage/access_control_manage_view.dart
2025-09-19 15:05:08 +08:00

62 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:starwork_flutter/common/constant/app_colors.dart';
import 'package:starwork_flutter/common/constant/app_images.dart';
import 'package:starwork_flutter/common/widgets/custome_app_bar_wdiget.dart';
import 'package:starwork_flutter/views/accessControlManage/access_control_manage_controller.dart';
import 'package:starwork_flutter/views/main/widget/main_left_drawer_widget.dart';
class AccessControlManageView extends GetView<AccessControlManageController> {
@override
Widget build(BuildContext context) {
return Scaffold(
// 使用 Obx 响应 currentIndex 的变化
body: Obx(
() => IndexedStack(
index: controller.currentIndex.value,
children: controller.pages,
),
),
bottomNavigationBar: Obx(
() => BottomNavigationBar(
currentIndex: controller.currentIndex.value,
onTap: (index) => controller.changeIndex(index),
items: bottomNavItems,
type: BottomNavigationBarType.fixed,
// 多于3个时建议 fixed
selectedFontSize: 12.sp,
unselectedFontSize: 12.sp,
),
),
);
}
// 定义底部导航的标题和图标
List<BottomNavigationBarItem> get bottomNavItems => [
BottomNavigationBarItem(
icon: _buildTabIcon(AppImages.iconHome, AppImages.iconHomeSelected, 0),
label: '首页',
),
BottomNavigationBarItem(
icon: _buildTabIcon(AppImages.iconAccessControl, AppImages.iconAccessControlSelected, 1),
label: '门禁控制',
),
];
// 构建自定义图标组件
Widget _buildTabIcon(String unselectedIcon, String selectedIcon, int index) {
return Obx(
() => Image.asset(
controller.currentIndex.value == index ? selectedIcon : unselectedIcon,
width: 24.w,
height: 24.w,
fit: BoxFit.contain,
),
);
}
}