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';
|
|
|
|
|
|
|
|
|
|
import '../../app_settings/app_colors.dart';
|
|
|
|
|
import '../../tools/commonItem.dart';
|
|
|
|
|
import '../../tools/titleAppBar.dart';
|
|
|
|
|
import '../../translations/app_dept.dart';
|
|
|
|
|
import '../../translations/trans_lib.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> {
|
|
|
|
|
|
|
|
|
|
final logic = Get.put(MineMultiLanguageLogic());
|
|
|
|
|
final state = Get.find<MineMultiLanguageLogic>().state;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return Scaffold(
|
|
|
|
|
backgroundColor: AppColors.mainBackgroundColor,
|
2023-07-15 15:11:28 +08:00
|
|
|
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.multilingual!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
|
2023-07-10 17:50:31 +08:00
|
|
|
body: Column(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
children: _children(),
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Widget> _children(){
|
|
|
|
|
List<Widget> l = [];
|
|
|
|
|
for(int i = 0; i < state.languages.length; i++){
|
|
|
|
|
var e = state.languages[i];
|
|
|
|
|
var lanType = ExtensionLanguageType.fromLanguageCode(e.languageCode);
|
2023-07-24 09:36:53 +08:00
|
|
|
l.add(CommonItem(leftTitel:lanType.lanTitle, rightTitle:"", allHeight: 90.h, 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: (){
|
2023-07-10 17:50:31 +08:00
|
|
|
logic.changeLanguage(e);
|
|
|
|
|
}),);
|
|
|
|
|
}
|
|
|
|
|
return l;
|
|
|
|
|
}
|
|
|
|
|
}
|