Advertisement

Flutter项目解决鼠标拖动滚动问题

阅读量:

在开发一个基于Flutter的Web项目时,在实践过程中发现ListView列表在手动拖动鼠标时无法实现平移滚动效果。随后进一步探索发现,在触控板上操作确实能够实现该功能。然而,在缺乏触控板的情况下或者当列表以横向形式展开时,则无法满足需求。在解决问题的过程中尝试了以下方法:

1.尝试使用点击事件模拟滑动手势

在某些web项目中由于技术限制无法直接拖动鼠标,在这种情况下是否可以考虑设置一个按钮用于触发滑动操作呢?当用户点击该按钮时会模拟滑动手势从而以实现滚动效果完成任务

在模拟滑动手势的过程中涉及三个关键事件:当用户按下鼠标时发生"PointerDownEvent"拖动操作期间出现"PointerMoveEvent"松开时发生"PointerUpEvent"。为了准确判断滑动手势效果我们记录以下数据包括鼠标按下和弹起的坐标位置以及鼠标的移动距离这些信息能够帮助我们确定滑动效果与哪一个ListView实现的相关联

定位某个指定的Widget的位置:通过设置该Widget的key属性来确定其位置,并定位该Widget的位置。

复制代码
 Widget _demo(){

    
     GlobalKey _globalKey = new GlobalKey();
    
     return GestureDetector(
    
     ontap:

全部评论 (0)

还没有任何评论哟~