flutter web中如何区分手指触摸手势和鼠标指针手势?

Posted

技术标签:

【中文标题】flutter web中如何区分手指触摸手势和鼠标指针手势?【英文标题】:How to differentiate between finger touch gestures and mouse pointer gestures in flutter web? 【发布时间】:2021-05-06 08:34:31 【问题描述】:

我正在研究颤振网络。 我需要实现手指触摸特定代码和鼠标特定代码。 我使用了 Listener 小部件。但它可以识别屏幕上的鼠标平移和手指平移。 但我只需要鼠标平移。 请告诉我区分手指触摸手势和鼠标指针手势的代码。 监听代码:

          Listener(
              onPointerMove: (details) 
                print('moved');
              ,
              child: Container(height:500,width:300));

【问题讨论】:

【参考方案1】:

您可以从 TapDownDetails 获取 PointerDeviceKind。请参考以下代码。

GestureDetector(
  onTapDown: (TapDownDetails details)
    PointerDeviceKind pointerType = details.kind;
  
);

在监听器中

Listener(
   onPointerMove: (details) 
     print('moved');
   ,
   onPointerDown: (details)
     PointerDeviceKind pointerType =  details.kind
   ,
  child: Container(height:500,width:300));

【讨论】:

以上是关于flutter web中如何区分手指触摸手势和鼠标指针手势?的主要内容,如果未能解决你的问题,请参考以下文章

flutter学习-事件监听

触摸手势

黑苹果鼠标键盘触摸板驱动:VoodooPS2Controller.kext

WIN10系统触摸板快捷键

当用户滑动并点击手指(使用触摸手势)时如何隐藏所有 CollectionViewCell?

Flutter了解之手势