Animation 为什么复选框动画不';你不会在颤栗中表现出来吗?
我使用了复选框来更新一些数据。共享数据的方法是Animation 为什么复选框动画不';你不会在颤栗中表现出来吗?,animation,checkbox,flutter,Animation,Checkbox,Flutter,我使用了复选框来更新一些数据。共享数据的方法是消费者。 问题是,复选框在更改状态时可以正常工作,但缺少检查动画。 我已经找到了问题所在,如果我使用notifyListeners()通知数据已更改,则复选框的动画将丢失 小部件代码如下所示: bool _value = false; @override Widget build(BuildContext context) { // TODO: implement build return Row( children:
消费者
。
问题是,复选框在更改状态时可以正常工作,但缺少检查动画。
我已经找到了问题所在,如果我使用notifyListeners()
通知数据已更改,则复选框的动画将丢失
小部件代码如下所示:
bool _value = false;
@override
Widget build(BuildContext context) {
// TODO: implement build
return Row(
children: <Widget>[
Checkbox(
activeColor: Colors.green,
value: _value,
onChanged: (value) {
setState(() {
_value = value;
widget.updateEnergy(); //The problem is Here!!!!!
});
},
),
Text("foodName",
style: TextStyle(color: Colors.blue,
fontSize: 13, fontWeight: FontWeight.w300),
),
Spacer(),
],
);
}
关键点是“notifyListeners()”,如果移除调用,动画将返回。
我的数据类是“with changeinnotifier”,因此notifyListeners()
来自changeinnotifier。
我使用了ChangeNotifierProvider.value(value:dailyRecord)
,在父节点中共享数据。以及使用数据的用户(…)
希望大家的帮助,怎样才能得到动画的复选框。
谢谢!您的类是否扩展了一个
ChangeNotifier
?如果不是,请将您的notifyListeners
methodYes,I“与ChangeNotifier一起发布”。@pskinkI usedclaas TestState扩展了与ChangeNotifier的状态{…
而且它只起作用fine@pskink,首先谢谢。我的数据类就像带有ChangeNotifier{…的类DailyRecord,这是原因吗?我没有使用状态。因为它只是数据模型。我不知道,我刚才声明了我的类,在initState()中添加了addListener()并调用了notifyListeners()内部一次更改回调
void updateCurrentEnergy(){
_currentEnergyCount.setValue(_getCurrentEnergyCount(), _dailyTargetEnergy.unit);
notifyListeners();
}