Flutter:如何防止按键时出现默认行为?

时间:2018-11-26 00:34:41

标签: events dart event-handling flutter preventdefault

当用户按下音量按钮以执行特定操作并阻止默认行为(音量更改)时,我试图进行拦截。

这是我到目前为止的代码:

RawKeyboard.instance.addListener(_keyboardListener);

void _keyboardListener(RawKeyEvent e) {
  if(e.runtimeType == RawKeyUpEvent) {
    RawKeyEventDataAndroid eA = e.data;
    if(eA.keyCode == 24) { //volume up key
      _goNextPage();
    }
    if(eA.keyCode == 25) { //volume down key
      _goPrevPage();
    }
  }
}

如何防止音量发生变化(并阻止音量滑块显示在顶部)?

类似的Javascript将在键事件上调用event.preventDefault()

这似乎是一件微不足道的事情,但是我无法在文档中找到任何答案。

谢谢。

1 个答案:

答案 0 :(得分:0)

我也遇到过类似的问题,以及如何分享解决问题的方法。

要停止传播,我们必须从焦点节点树中true的{​​{1}}方法的onKey方法返回。为了实现这一点,我使用如下的FocusNodeFocusScope小部件包装了我的应用程序主体:

Focus