如何仅在按下按钮时调用方法?

时间:2019-04-13 09:08:16

标签: dart flutter

我正在尝试制作一个在按下时可以使用的语音命令按钮。我有2种方法,一个按钮调用第一种方法开始记录,第二种方法停止记录。我如何才能使我使用一个按钮(按下时),或者例如在按下按钮时使用第一种方法,而在按下按钮时使用第二种方法?我不知道该怎么用。

2 个答案:

答案 0 :(得分:1)

使用GestureDetector作为窗口小部件,分别使用onLongPressUponLongPressStart

GestureDetector(
  onLongPressStart: _startRec, // start recording when long pressed
  onLongPressUp: _stopRec, // stop recording when released
  child: Text("Hold to record"),
);

答案 1 :(得分:0)

此答案几乎类似于@CopsOnRoad给出的答案,唯一的区别是onLongPressStart在此处onLongPress。因为没有onLongPressStart这样的参数。我也尝试编辑该答案。

GestureDetector(
    onLongPress: () {
        print('start recording');
    },
    onLongPressUp: () {
        print('stop recording');
    },
    child: Text("Hold to record"),
)