【问题标题】:How to listen for a keyboard event in dart programming如何在飞镖编程中监听键盘事件
【发布时间】:2013-02-17 12:50:45
【问题描述】:

我是 google dart 的新手,并且已经尝试学习了一天。一般来说,我对编程很陌生,我正在尝试阅读文档;然而,我觉得有点不知所措。

我想知道为空格键here 键创建交互的最合适方法。当按下空格键时,它会在函数 void startwatch() 、 void resetwatch() 之间切换

我相信这也是正确的文档页面documentation for keyboardEventController

void main() {

}

void startwatch() {
  mywatch.start();
  var oneSecond = new Duration(milliseconds:1);
  var timer = new Timer.repeating(oneSecond, updateTime);
}

void resetwatch() {
  mywatch.reset();
  counter = '00:00:00';
}

如果需要任何进一步的信息,我会立即回复。非常感谢您的帮助。

【问题讨论】:

    标签: dart dart-webui


    【解决方案1】:

    监听键盘事件并在startwatch()resetwatch() 之间切换:

    void main() {
      var started = false;
    
      window.onKeyUp.listen((KeyboardEvent e) {
        print('pressed a key');
    
        if (e.keyCode == KeyCode.SPACE) {
          print('pressed space');
    
          if (started) {
            resetwatch();
          } else {
            startwatch();
          }
    
          started = !started; // A quick way to switch between true and false.
        }
      });
    }
    

    windowWindow 类的一个实例。它会自动为您提供。

    还有一个名为KeyEvent 的方便类,它试图消除跨浏览器的不一致。这些不一致通常与特殊键有关。

    【讨论】:

    • KeyEvent 上的文档告诉我们将事件添加到 Stream,但流不支持添加事件,它必须是 SinkStreamController。那么我们该如何进行呢?我有一个与此类似的question
    猜你喜欢
    • 2014-06-07
    • 2011-07-25
    • 2018-04-15
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多