我希望容器是一种颜色,它来自sharedpreference或类似的东西!有一个小部件可以解决这个问题!或者我可以使用sharedpreference来做到这一点!!如果我能!怎么样?
答案 0 :(得分:3)
使用颤抖的SharedPreferences插件,您只能保存String, int, StringList, double, Bool
。
一种解决方法是将颜色的RGBO
保存在SharedPreferences
中,这将适用于Android和iOS。
第1步。安装插件
pubspec.yaml
将SharedPreferences添加到您的pubspec.yaml
文件中。通过单击here检查最新版本。
dependencies:
flutter:
sdk: flutter
shared_preferences: ^0.5.3+4
步骤2。将RGBO值保存在SharedPreferences中
void saveColor(int r, int g, int b, double opacity) async {
final prefs = await SharedPreferences.getInstance();
prefs.setInt('r', r);
prefs.setInt('g', g);
prefs.setInt('b', b);
prefs.setDouble('o', opacity);
}
第3步。获取值并创建颜色
getColor() async {
final prefs = await SharedPreferences.getInstance();
final r = prefs.getInt('r');
final g = prefs.getInt('g');
final b = prefs.getInt('b');
final opacity = prefs.getDouble('o');
return Color.fromRGBO(r, g, b, opacity);
}
答案 1 :(得分:1)
更好的方法是保存color.value
。
使用
final prefs = await SharedPreferences.getInstance();
Color myColor = Color(prefs.getInt('color') ?? Colors.blue.value);
// change Colors.blue to a default color
获取颜色,然后
prefs.setInt('color', myColor.value);
保存颜色。