【问题标题】:Customized Raw Material Button - Flutter自定义原材料按钮 - Flutter
【发布时间】:2020-12-13 04:07:44
【问题描述】:

我想向 RawMaterialButton 类添加一个属性,这样当我按住按钮时,它会不断增加变量的值。就像我们长时间按下移动相机的拍摄按钮时,它会单击多次拍摄,直到我们离开按钮。关于如何做到这一点的任何想法?

【问题讨论】:

    标签: flutter button widget


    【解决方案1】:

    您可以将 GestureDetector 与计时器一起使用。当 onTapDown 事件触发时启动计时器。当 onTapUp 事件触发时停止计时器。使用 Timer.periodic() 计时器重复增加变量。有多个与此相关的问题,例如:auto-incrementbutton-on-hold 等。这是我为此构建的小部件中的 onTapDown 和 onTapUp 方法(我希望在重复操作之前有一个初始延迟,因此检查 timer.tick):

    Timer _timer;
    .
    .
    .
    void _onTapDown() {
      <on pressed action>
      _timer = Timer.periodic(Duration(milliseconds: 200), (timer) {
        if (timer.tick < 3) {
          return;
        }
        if (widget == null) {
          timer.cancel();
          return;
        }
        <on pressed action>
      });
    }
    
    void _onTapUp() {
      if (_timer == null) {
        return;
      }
      _timer.cancel();
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 2021-04-23
      • 2018-10-08
      • 2021-01-23
      相关资源
      最近更新 更多