import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../login_in/connect/bluetooth_page.dart'; import '../login_in/connect/connect_type.dart'; import '../login_in/getx/real_data.dart'; import '../main.dart'; import '../screens/aimpoint_page.dart'; final RealController controller1 = Get.find(); class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { final double appBarHeight; final RxInt _currentIndex; CustomAppBar({required this.appBarHeight, required RxInt currentIndex}) : _currentIndex = currentIndex; @override Widget build(BuildContext context) { const textStyle = TextStyle(fontSize: 16); return AppBar( toolbarHeight: 40, centerTitle: true, // 标题居中 title: Obx(() { if (_currentIndex.value == 0) { return const Text("桩点:", style: textStyle); } else if (_currentIndex.value == 1) { return const Text("设备:", style: textStyle); } else { return const Text("系统:", style: textStyle); } }), // title: _currentIndex.value == 0 // ? Obx(() => Text("桩点:${realController.pileId.value}", // style: textStyle)) // : const Text("设备:", style: textStyle), // // const Center( // // child: Obx(() => Text("设备:", style: textStyle)), // // ), // title: Obx(() { // if (_currentIndex.value == 1) { // return const Text("设备:", style: textStyle); // } else if (_currentIndex.value == 0) { // return Text("桩点:${realController.pileId.value}", // style: textStyle); // } else { // return const Text("系统:", style: textStyle); // } // }), actions: [ InkWell( onTap: () { MyApp.isDarkMode.value = !MyApp.isDarkMode.value; }, child: Icon( MyApp.isDarkMode.value ? Icons.dark_mode : Icons.sunny, size: 35, ), ), const SizedBox( width: 10, ), InkWell( onTap: () => Navigator.push(context, MaterialPageRoute(builder: (context) => const ScenceMap())), child: Image( image: const AssetImage('images/satellite.png'), // width: 40, color: MyApp.isDarkMode.value ? Colors.white70 : const Color.fromARGB(200, 29, 28, 28), height: 40, ), ), const SizedBox( width: 10, ), _currentIndex.value == 1 ? Row( children: [ Obx( () => InkWell( onTap: () { // 点击图标时显示对点卡片 sight.isCardVisible.value = !sight.isCardVisible.value; // 确保控制器已定义 }, child: Icon( Icons.my_location_sharp, size: 35, color: sight.isCardVisible.value ? Colors.blue // : const Color.fromARGB(200, 29, 28, 28), : (MyApp.isDarkMode.value ? Colors.white70 : const Color.fromARGB(200, 29, 28, 28)), ), // 新增图标 ), ), const SizedBox( width: 10, ), Obx( () => InkWell( onTap: () { final RealController controller1 = Get.find(); // 获取控制器 controller1.isDataVisible.value = !controller1.isDataVisible.value; // 更新控制器中的值 }, child: Icon( Icons.date_range_rounded, size: 35, color: controller1.isDataVisible.value ? Colors.blue : (MyApp.isDarkMode.value ? Colors.white70 : const Color.fromARGB(200, 29, 28, 28)), ), // 新增图标 ), ), const SizedBox( width: 10, ), UnconstrainedBox( child: SizedBox( height: 30, child: Builder( builder: (context) => InkWell( child: Icon( Icons.settings_outlined, size: 35, color: MyApp.isDarkMode.value ? Colors.white70 : const Color.fromARGB(200, 29, 28, 28), ), onTap: () => Scaffold.of(context).openEndDrawer(), ), ), ), ) ], ) : const Text(""), Obx(() => Icon( blueToothController.connectedType.value == ConnectType.wifi ? Icons.wifi : (blueToothController.connectedType.value == ConnectType.bluetooth ? Icons.bluetooth : Icons.close), color: Colors.green, size: 30, )) ], ); } @override Size get preferredSize => Size.fromHeight(appBarHeight); }