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

50 lines
1.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';
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);
l.add(CommonItem(leftTitel:lanType.lanTitle, rightTitle:"", allHeight: 70.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: (){
logic.changeLanguage(e);
}),);
}
return l;
}
}