专栏首页李蔚蓬的专栏Flutter | 手势操作可能遇到的一些问题及其解决

Flutter | 手势操作可能遇到的一些问题及其解决

概要

  • Pan和Scale不能同时使用;
  • 垂直和水平事件不能同时使用;
  • 双击事件要获取点击坐标,需要Pan事件

Pan和Scale不能同时使用

代码:

GestureDetector(
          child:
          Text(
            '手势操作遇到问题的测试',
            style:TextStyle(color: Colors.orangeAccent, fontSize: 20),
          ),
          /*********************** Pan事件 *****************************/
          onPanDown: (DragDownDetails details){
            print(''
                'onPanDown  点击处的坐标为:${details.globalPosition}  '
                'x轴:${details.globalPosition.dx}   y轴坐标: ${details.globalPosition.dy}');
          },
          onPanStart: (DragStartDetails details){
            print(''
                'onPanStart  点击处的坐标为:${details.globalPosition}  '
                'x轴:${details.globalPosition.dx}   y轴坐标: ${details.globalPosition.dy}');
          },
          onPanUpdate: (DragUpdateDetails details){
            print(''
                'onPanStart  点击处的坐标为:${details.globalPosition}  '
                'x轴:${details.globalPosition.dx}   y轴坐标: ${details.globalPosition.dy}');
          },
          onPanEnd: (DragEndDetails details){
            print('onPanEnd  点击处的坐标为:${details.primaryVelocity.toString()}');
          },
          onPanCancel: (){
            print('onPanCancel');
          },
          /*********************** Pan事件 *****************************/
        onScaleStart: (ScaleStartDetails details){},
        onScaleUpdate: (ScaleUpdateDetails details){},
        ),

运行效果:

注意这句话:

垂直和水平事件不能同时使用

需要做处理、判断、区分, 否则会同时触发 垂直和水平 两种事件;

双击事件要获取点击坐标,需要Pan(Tap)事件

  • 因为onDoubleTap()【双击手势回调】获取不了坐标, 需要借助onTapDown()onTapUp()Details才行:

参考自CSDN的Flutter入门课程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Flutter | 手势操作详解、单独一种类型的事件处理顺序、多种类型的事件混合时的处理顺序

    GestureDetector的child,用来放 需要实现 某种手势事件 的组件; 【这里GestureDetector封装的是 显示 模拟手机号 的文本...

    凌川江雪
  • Tip | 写一段会产生死锁的代码

    凌川江雪
  • Java | 如何停止一个线程

    这个时候 如果在外边使用这个线程的引用去调用它的interrupt(), 那其实不会对for循环的运行产生影响, 因为这种情况不支持;

    凌川江雪
  • Flutter 的手势(GestureDetector)分析详解一、手势识别器分类二、手势识别器的相关闭包函数统计分析表:

    GestureDetector手势操作是开发中必不可少的,Flutter中的GestureDetector一共有 7大类25种。

    AWeiLoveAndroid
  • 利用HTML5,无JS实现各种交互效果

    <details> 标签在Chrome,Firefox等浏览器下默认是有展开收起行为的,例如下面HTML:

    一墨编程学习
  • [linux][retpoline] retpoline技术分析

    前言: Intel CPU的Spectre问题,在linux-upstream上有了一个叫做retpoline的解决方案。 本文选择系统调用的变化以及调用过程来...

    皮振伟
  • 【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

    相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。

    爱撸猫的杰
  • 2019最新『尤金·法玛』访谈:主动基金该何去何从?

    提起尤金·法玛(Eugene F. Fama),想必大家再也熟悉不过了。老爷子是全世界引用率最高的经济学家之一、金融经济学领域的思想家,2013年诺贝尔经济学奖...

    量化投资与机器学习微信公众号
  • 百度 UE 编辑器 version:1_4_3_3-utf8-jsp 版 单图片以及附件上传

    网上有很多的相关资料,但是实际可以用的基本没有,大部分都是没有经过测试就互相转载,而且也不看版本号,这就给大部分真正的开发带来了很大的困惑,而且官方文档也不健全...

    世玉
  • 【译】2014 eHealth 领域10大变革

    大数据文摘

扫码关注云+社区

领取腾讯云代金券