为什么Checkbox动画在Flutter中不显示?

时间:2019-09-24 07:19:05

标签: animation checkbox flutter

我使用了复选框来更新一些数据。共享数据方法为Consumer<T>。 问题是Checkbox可以在更改状态时正常工作,但是缺少检查动画。 我已找到问题所在,如果我使用notifyListeners()来通知数据已更改,则缺少Checkbox的动画。

窗口小部件代码如下:

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(),

      ],
    );
  }

如果我使用widget.updateEnergy();更新onChanged()中的数据,则动画丢失。 updateEnergy()如下:

void updateCurrentEnergy(){
    _currentEnergyCount.setValue(_getCurrentEnergyCount(), _dailyTargetEnergy.unit);

    notifyListeners();
  }

关键是“ notifyListeners()”,如果删除了调用,则动画将返回。 我的数据类是“ with ChangeNotifier”,所以notifyListeners()来自 ChangeNotifier 。 然后,我使用ChangeNotifierProvider.value(value: dailyRecord)在父节点中共享数据。然后使用Consumer<DailyRecord>(...使用数据。

希望您能帮忙,如何获得复选框的动画。 谢谢!

0 个答案:

没有答案