多语言
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:flutter/services.dart';
|
||||
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
||||
import 'package:vbvs_app/component/NullDataComponentWidget.dart';
|
||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/mh_controller/mh_language_controller.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/model/WebSocketMessage.dart';
|
||||
import 'package:vbvs_app/pages/common/bezier_bottom_navigation_bar.dart';
|
||||
@@ -17,14 +18,35 @@ import 'package:vbvs_app/pages/mh_page/new_mine_page.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||
import 'package:EasyDartModule/EasyDartModule.dart' as edm;
|
||||
|
||||
// class MainPageBBottomChange extends StatefulWidget {
|
||||
// // 全局 key,用于静态访问 _HomePageState
|
||||
// static final GlobalKey<_HomePageState> globalKey =
|
||||
// GlobalKey<_HomePageState>();
|
||||
|
||||
// MainPageBBottomChange({Key? key}) : super(key: globalKey);
|
||||
|
||||
// // 静态方法:外部调用,跳转 tab
|
||||
// static void jumpTo(int index) {
|
||||
// final state = globalKey.currentState;
|
||||
// if (state != null) {
|
||||
// state.switchTab(index);
|
||||
// }
|
||||
// }
|
||||
|
||||
// static int? getCurrentIndex() {
|
||||
// final state = globalKey.currentState;
|
||||
// return state?.selectedIndex;
|
||||
// }
|
||||
|
||||
// @override
|
||||
// _HomePageState createState() => _HomePageState();
|
||||
// }
|
||||
class MainPageBBottomChange extends StatefulWidget {
|
||||
// 全局 key,用于静态访问 _HomePageState
|
||||
static final GlobalKey<_HomePageState> globalKey =
|
||||
GlobalKey<_HomePageState>();
|
||||
final GlobalKey<_HomePageState>? externalKey;
|
||||
|
||||
MainPageBBottomChange({Key? key}) : super(key: globalKey);
|
||||
MainPageBBottomChange({Key? key, this.externalKey})
|
||||
: super(key: key ?? externalKey);
|
||||
|
||||
// 静态方法:外部调用,跳转 tab
|
||||
static void jumpTo(int index) {
|
||||
final state = globalKey.currentState;
|
||||
if (state != null) {
|
||||
@@ -37,6 +59,9 @@ class MainPageBBottomChange extends StatefulWidget {
|
||||
return state?.selectedIndex;
|
||||
}
|
||||
|
||||
static final GlobalKey<_HomePageState> globalKey =
|
||||
GlobalKey<_HomePageState>();
|
||||
|
||||
@override
|
||||
_HomePageState createState() => _HomePageState();
|
||||
}
|
||||
@@ -47,8 +72,8 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
late AnimationController _controller;
|
||||
late Animation<double> _positionAnimation;
|
||||
double currentPosition = 0.0;
|
||||
|
||||
final List<String> titles = ['首页', '报告', '控制', '我的'];
|
||||
MHLanguageController languageController = Get.find();
|
||||
List<String> get titles => ['首页', '报告', '控制', '我的'];
|
||||
final List<String> path = [
|
||||
"assets/images/bar_home.svg",
|
||||
"assets/images/bar_heart.svg",
|
||||
@@ -113,11 +138,15 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
DateTime? _lastBackPressedTime; // 记录上一次返回的时间
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return PopScope(
|
||||
|
||||
return Obx(() {
|
||||
final currentLanguage =
|
||||
languageController.selectLanguage.value; // 监听此变量变化
|
||||
return PopScope(
|
||||
canPop: false,
|
||||
onPopInvokedWithResult: (disposition, result) async {
|
||||
if (Platform.isAndroid) {
|
||||
var flag = await _handleBackPressed(context); // 自定义返回逻辑
|
||||
var flag = await _handleBackPressed(context);
|
||||
if (flag) {
|
||||
SystemNavigator.pop();
|
||||
}
|
||||
@@ -134,9 +163,13 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
animatedPosition: _positionAnimation.value,
|
||||
onTap: _onTabTapped,
|
||||
path: path,
|
||||
titles: titles,
|
||||
titles: titles
|
||||
.map((title) => title.tr) // 这里依赖 .tr 会自动根据 Get.locale 变化刷新
|
||||
.toList(),
|
||||
),
|
||||
));
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
void switchTab(int index) {
|
||||
@@ -226,7 +259,7 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
//如果当前没有连接该设备,则返回
|
||||
return;
|
||||
}
|
||||
if (webviewTestController.selectDevice['blueToothStatus']!=2) {
|
||||
if (webviewTestController.selectDevice['blueToothStatus'] != 2) {
|
||||
return;
|
||||
}
|
||||
edm.EasyDartModule.websocket.sendData(jsonEncode(WebSocketMessage(
|
||||
|
||||
Reference in New Issue
Block a user