app-starlock/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart

82 lines
2.8 KiB
Dart
Raw Normal View History

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) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
2024-07-31 20:02:38 +08:00
barTitle: '多语言'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
// mainAxisAlignment: MainAxisAlignment.start,
// mainAxisSize: MainAxisSize.min,
children: _children(),
2023-10-25 16:18:27 +08:00
)
);
2023-07-10 17:50:31 +08:00
}
List<Widget> _children() {
final List<Widget> l = <Widget>[];
// 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,
2024-07-31 20:02:38 +08:00
rightTitle: '',
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'),
width: 30.w,
height: 30.w,
fit: BoxFit.contain,
)
: Container()),
action: () {
logic.updateUserLangInfo(e);
2024-08-27 11:08:44 +08:00
// eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanType.lanTitle));
}),
);
2023-07-10 17:50:31 +08:00
}
return l;
}
}