更新样式
This commit is contained in:
@@ -118,24 +118,49 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
horizontal: 16.rpx),
|
||||
onTap: () async {
|
||||
// 点击事件逻辑
|
||||
for (var lang
|
||||
in languageController
|
||||
.languageList) {
|
||||
lang.selected = (lang ==
|
||||
language); // 根据选择更新状态
|
||||
}
|
||||
languageController
|
||||
.selectLanguage
|
||||
.value = language;
|
||||
EventBus().emit(
|
||||
SwitchLanguageEvent(
|
||||
language.language_code));
|
||||
await AppLanguage()
|
||||
.loadLanguage(language
|
||||
.language_code); // 加载语言
|
||||
languageController
|
||||
.updateAll(); // 更新操作
|
||||
// 更新操作
|
||||
ef.log("切换语言事件通知");
|
||||
try {
|
||||
for (var lang
|
||||
in languageController
|
||||
.languageList) {
|
||||
lang.selected = (lang ==
|
||||
language); // 根据选择更新状态
|
||||
}
|
||||
languageController
|
||||
.selectLanguage
|
||||
.value = language;
|
||||
if (language.language_code ==
|
||||
"zh_CN") {
|
||||
languageController
|
||||
.appLocale.value =
|
||||
const Locale(
|
||||
'zh', 'CN');
|
||||
Get.updateLocale(
|
||||
const Locale(
|
||||
'zh', 'CN'));
|
||||
languageController
|
||||
.updateAll();
|
||||
} else {
|
||||
languageController
|
||||
.appLocale.value =
|
||||
const Locale(
|
||||
'en', 'US');
|
||||
Get.updateLocale(
|
||||
const Locale(
|
||||
'en', 'US'));
|
||||
languageController
|
||||
.updateAll();
|
||||
}
|
||||
EventBus().emit(
|
||||
SwitchLanguageEvent(
|
||||
language
|
||||
.language_code));
|
||||
await AppLanguage()
|
||||
.loadLanguage(language
|
||||
.language_code); // 加载语言
|
||||
languageController
|
||||
.updateAll();
|
||||
await ef.kvdb.write(
|
||||
"th/language",
|
||||
language.language_code);
|
||||
@@ -150,7 +175,7 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
await bodyDeviceController
|
||||
.getSleepReport();
|
||||
} catch (e) {
|
||||
print(e);
|
||||
ef.log("切换语言异常: $e");
|
||||
}
|
||||
},
|
||||
child: Row(
|
||||
@@ -184,6 +209,7 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
value: language.selected ??
|
||||
false, // 根据 selected 状态显示选中或未选中
|
||||
onChanged: (value) async {
|
||||
ef.log("切换语言事件通知1");
|
||||
// 保持原有的状态更改逻辑
|
||||
for (var lang
|
||||
in languageController
|
||||
@@ -199,6 +225,67 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
.language_code); // 加载语言
|
||||
languageController
|
||||
.updateAll(); // 更新操作
|
||||
try {
|
||||
for (var lang
|
||||
in languageController
|
||||
.languageList) {
|
||||
lang.selected = (lang ==
|
||||
language); // 根据选择更新状态
|
||||
}
|
||||
languageController
|
||||
.selectLanguage
|
||||
.value = language;
|
||||
if (language
|
||||
.language_code ==
|
||||
"zh_CN") {
|
||||
languageController
|
||||
.appLocale
|
||||
.value =
|
||||
const Locale(
|
||||
'zh', 'CN');
|
||||
Get.updateLocale(
|
||||
const Locale(
|
||||
'zh', 'CN'));
|
||||
languageController
|
||||
.updateAll();
|
||||
} else {
|
||||
languageController
|
||||
.appLocale
|
||||
.value =
|
||||
const Locale(
|
||||
'en', 'US');
|
||||
Get.updateLocale(
|
||||
const Locale(
|
||||
'en', 'US'));
|
||||
languageController
|
||||
.updateAll();
|
||||
}
|
||||
EventBus().emit(
|
||||
SwitchLanguageEvent(
|
||||
language
|
||||
.language_code));
|
||||
await AppLanguage()
|
||||
.loadLanguage(language
|
||||
.language_code); // 加载语言
|
||||
languageController
|
||||
.updateAll();
|
||||
await ef.kvdb.write(
|
||||
"th/language",
|
||||
language
|
||||
.language_code);
|
||||
WeatherModelController
|
||||
weatherModelController =
|
||||
Get.find();
|
||||
weatherModelController
|
||||
.getCurrentWeather();
|
||||
BodyDeviceController
|
||||
bodyDeviceController =
|
||||
Get.find();
|
||||
await bodyDeviceController
|
||||
.getSleepReport();
|
||||
} catch (e) {
|
||||
ef.log("切换语言异常: $e");
|
||||
}
|
||||
},
|
||||
),
|
||||
].divide(SizedBox(
|
||||
@@ -213,15 +300,6 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
);
|
||||
}),
|
||||
),
|
||||
// ClickableContainer(
|
||||
// backgroundColor: Colors.transparent, // 容器背景色
|
||||
// highlightColor: themeController
|
||||
// .currentColor.sc21, // 点击时的背景色
|
||||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||||
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
|
||||
// onTap: () {},
|
||||
// child: Container(),
|
||||
// ),
|
||||
]
|
||||
.divide(SizedBox(height: 0.rpx))
|
||||
.addToStart(SizedBox(height: 30.rpx))
|
||||
|
||||
Reference in New Issue
Block a user