我想创建一个小部件,其外观取决于它通过shared_preferences插件保存在设备中的值。每当此值更改时,我如何重新构建小部件。我正在尝试使用StreamBuilder,但我不知道这是否是正确的方法。
答案 0 :(得分:1)
Streams是一个很好的解决方案。
看看反应式编程库或博客文章:
答案 1 :(得分:0)
您可以查看 StreamingSharedPreferences:https://github.com/roughike/streaming_shared_preferences
@override
Widget build(BuildContext context) {
// Could also use a StreamBuilder here.
return PreferenceBuilder<int>(
preference: preferences.getInt('counter', defaultValue: 0),
builder: (BuildContext context, int counter) {
return Text('Button pressed $counter times!');
}
);
}
代码中的其他地方:
preferences.setInt('counter', 5);
这将自动触发重建。