我目前正在通过此链接使用国际化: https://medium.com/flutter-community/flutter-internationalization-the-easy-way-using-provider-and-json-c47caa4212b2
但是我改为将按钮更改为CupertinoSegmentedControl。
问题在于,当我离开页面时,细分受众群始终处于丢失状态。
我尝试使用AutomaticKeepAliveClientMixin
,但仍然无法正常工作。
任何答案将不胜感激!
答案 0 :(得分:0)
这很简单,您需要保存/恢复值,并尝试shared_prefs
我将使用我的插件localize_and_translate
这是一个简单的实现
您使用方法获取活动的语言代码,该方法将返回语言代码:例如en
translator.currentLanguage();
2。您按照以下步骤保存到shared_prefs
import 'package:shared_preferences/shared_preferences.dart';
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('code', translator.currentLanguage());
3。像在小部件树中一样进行检索
prefs.getString('code') == 'en' ? // widget for true : // widget for false,
或者您可以直接使用我的插件而无需shared_prefs
translator.currentLanguage() == 'en' ? // widget for true : // widget for false,