import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart'; import '../../app_settings/app_colors.dart'; import '../../tools/commonItem.dart'; import '../../tools/titleAppBar.dart'; import '../../translations/app_dept.dart'; import 'mineMultiLanguage_logic.dart'; class MineMultiLanguagePage extends StatefulWidget { const MineMultiLanguagePage({Key? key}) : super(key: key); @override State createState() => _MineMultiLanguagePageState(); } class _MineMultiLanguagePageState extends State { final MineMultiLanguageLogic logic = Get.put(MineMultiLanguageLogic()); final MineMultiLanguageState state = Get.find().state; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, appBar: TitleAppBar( barTitle: '多语言'.tr, haveBack: true, backgroundColor: AppColors.mainColor), body: ListView( // mainAxisAlignment: MainAxisAlignment.start, // mainAxisSize: MainAxisSize.min, children: _children(), ) ); } List _children() { final List l = []; // l.add( // CommonItem( // leftTitel: '跟随系统', // rightTitle: "", // isHaveLine: true, // isHaveDirection: false, // isHaveRightWidget: true, // rightWidget: Container(), // action: () { // // logic.changeLanguage(e); // }), // ); for (int i = 0; i < state.languages.length; i++) { final Locale e = state.languages[i]; final LanguageType lanType = ExtensionLanguageType.fromLocale(e); // AppLog.log('e:$e lanType:$lanType state.currentLanguageType.value:${state.currentLanguageType.value} Get.locale!.languageCode:${Get.locale!.languageCode} Get.locale!.countryCode:${Get.locale!.countryCode}'); l.add( CommonItem( leftTitel: lanType.lanTitle, rightTitle: '', isHaveLine: true, isHaveDirection: false, isHaveRightWidget: true, rightWidget: Obx(() => state.currentLanguageType.value == lanType ? Image( image: const AssetImage('images/icon_item_checked.png'), width: 30.w, height: 30.w, fit: BoxFit.contain, ) : Container()), action: () { logic.updateUserLangInfo(e); // eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanType.lanTitle)); }), ); } return l; } }