我目前正在通过此链接使用国际化: https ://medium.com/flutter-community/flutter-internationalization-the-easy-way-using-provider-and-json-c47caa4212b2
但我将按钮改为 CupertinoSegmentedControl。
问题是当我离开页面时该段不断丢失状态。
我尝试使用AutomaticKeepAliveClientMixin
但仍然没有工作。
任何答案将不胜感激!
我目前正在通过此链接使用国际化: https ://medium.com/flutter-community/flutter-internationalization-the-easy-way-using-provider-and-json-c47caa4212b2
但我将按钮改为 CupertinoSegmentedControl。
问题是当我离开页面时该段不断丢失状态。
我尝试使用AutomaticKeepAliveClientMixin
但仍然没有工作。
任何答案将不胜感激!
很简单,你需要保存/恢复值,试试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,