62 lines
2.1 KiB
Dart
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,
|
|
),
|
|
);
|
|
}
|
|
}
|