如何使用Flutterr及时更改背景颜色?

时间:2018-08-21 23:00:40

标签: dart flutter

我完全无法弄清楚这一点。经过大量研究和解决,我看不到将m_buffer_size = buffer_size; strncpy(m_buffer, buffer, buffer_size + m_buffer_size); 链接到有状态窗口小部件状态的Timer.periodic的方法。我试图通过增加我定义的颜色值数组来改变我的应用程序每帧的背景颜色(或者每隔17ms,足够接近)以进行逐渐变化。我只是不知道如何根据计时器进行实际更改,因此我完全迷失了。

编辑:这是到目前为止应用程序的完整代码。

setState

1 个答案:

答案 0 :(得分:1)

以下是基本步骤:

  1. 覆盖setState()中的MainAppState,或者根据您的需要覆盖initState()
  2. 在其中添加一个Timer.periodic
  3. 通过更改colorProgresscolorProgress分配一个值 计时器。

像下面一样(未选中,仅是主意):

  Timer timer;

  @override
  void initState() {
    super.initState();

    timer = new Timer.periodic(new Duration(seconds: 2), (Timer timer) {
      setState(() {
        //change your colorProgress here
      });
    });
  }

  @override
  void dispose() {
    super.dispose();
    timer.cancel();
  }

这些可能会帮助您

如何创建Timer.periodicChange colorsetState not update.