我想要一个来自共享偏好或类似颜色的容器!有没有一个小部件可以解决这个问题!!或者我可以以共享偏好来做到这一点!!如果可以的话!如何?
更好的方法是保存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);
以保存颜色。
使用颤振共享首选项插件,您只能保存String, int, StringList, double, Bool
。
解决方法是将颜色的RGBO
值保存在SharedPreferences
中,这将适用于Android和iOS。
第 1 步。安装插件
pubspec.yaml
将共享首选项添加到您的pubspec.yaml
文件。单击此处查看最新版本。
dependencies:
flutter:
sdk: flutter
shared_preferences: ^0.5.3+4
第 2 步。将 RGBO 值保存在共享首选项中
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);
}