2024-08-21 14:12:15 +08:00
|
|
|
|
2023-07-10 17:50:31 +08:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
|
import 'package:get/get.dart';
|
2024-07-31 20:02:38 +08:00
|
|
|
import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart';
|
2023-07-10 17:50:31 +08:00
|
|
|
|
|
|
|
|
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 {
|
2023-07-15 15:11:28 +08:00
|
|
|
const MineMultiLanguagePage({Key? key}) : super(key: key);
|
2023-07-10 17:50:31 +08:00
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
State<MineMultiLanguagePage> createState() => _MineMultiLanguagePageState();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class _MineMultiLanguagePageState extends State<MineMultiLanguagePage> {
|
2024-07-31 20:02:38 +08:00
|
|
|
final MineMultiLanguageLogic logic = Get.put(MineMultiLanguageLogic());
|
|
|
|
|
final MineMultiLanguageState state = Get.find<MineMultiLanguageLogic>().state;
|
2023-07-10 17:50:31 +08:00
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
2023-09-11 09:48:47 +08:00
|
|
|
return Scaffold(
|
|
|
|
|
backgroundColor: AppColors.mainBackgroundColor,
|
|
|
|
|
appBar: TitleAppBar(
|
2024-07-31 20:02:38 +08:00
|
|
|
barTitle: '多语言'.tr,
|
2023-09-11 09:48:47 +08:00
|
|
|
haveBack: true,
|
|
|
|
|
backgroundColor: AppColors.mainColor),
|
2024-08-29 18:13:00 +08:00
|
|
|
body: ListView(
|
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
2023-09-11 09:48:47 +08:00
|
|
|
children: _children(),
|
2023-10-25 16:18:27 +08:00
|
|
|
)
|
|
|
|
|
);
|
2023-07-10 17:50:31 +08:00
|
|
|
}
|
|
|
|
|
|
2023-09-11 09:48:47 +08:00
|
|
|
List<Widget> _children() {
|
2024-08-21 14:12:15 +08:00
|
|
|
final List<Widget> l = <Widget>[];
|
2024-03-29 18:32:33 +08:00
|
|
|
// l.add(
|
|
|
|
|
// CommonItem(
|
|
|
|
|
// leftTitel: '跟随系统',
|
|
|
|
|
// rightTitle: "",
|
|
|
|
|
// isHaveLine: true,
|
|
|
|
|
// isHaveDirection: false,
|
|
|
|
|
// isHaveRightWidget: true,
|
|
|
|
|
// rightWidget: Container(),
|
|
|
|
|
// action: () {
|
|
|
|
|
// // logic.changeLanguage(e);
|
|
|
|
|
// }),
|
|
|
|
|
// );
|
2023-09-11 09:48:47 +08:00
|
|
|
for (int i = 0; i < state.languages.length; i++) {
|
2024-08-21 14:12:15 +08:00
|
|
|
final Locale e = state.languages[i];
|
2024-08-29 18:13:00 +08:00
|
|
|
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}');
|
2023-09-11 09:48:47 +08:00
|
|
|
l.add(
|
|
|
|
|
CommonItem(
|
|
|
|
|
leftTitel: lanType.lanTitle,
|
2024-07-31 20:02:38 +08:00
|
|
|
rightTitle: '',
|
2023-09-11 09:48:47 +08:00
|
|
|
isHaveLine: true,
|
|
|
|
|
isHaveDirection: false,
|
|
|
|
|
isHaveRightWidget: true,
|
|
|
|
|
rightWidget: Obx(() => state.currentLanguageType.value == lanType
|
|
|
|
|
? Image(
|
2024-07-31 20:02:38 +08:00
|
|
|
image: const AssetImage('images/icon_item_checked.png'),
|
2023-09-11 09:48:47 +08:00
|
|
|
width: 30.w,
|
|
|
|
|
height: 30.w,
|
|
|
|
|
fit: BoxFit.contain,
|
|
|
|
|
)
|
|
|
|
|
: Container()),
|
|
|
|
|
action: () {
|
2024-08-29 18:13:00 +08:00
|
|
|
logic.updateUserLangInfo(e);
|
2024-08-27 11:08:44 +08:00
|
|
|
// eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanType.lanTitle));
|
2023-09-11 09:48:47 +08:00
|
|
|
}),
|
|
|
|
|
);
|
2023-07-10 17:50:31 +08:00
|
|
|
}
|
|
|
|
|
return l;
|
|
|
|
|
}
|
|
|
|
|
}
|