Flutter 无法在David Anaya的《颤振》中禁用旋转轮上的可拖动手势

Flutter 无法在David Anaya的《颤振》中禁用旋转轮上的可拖动手势,flutter,dart,flutter-animation,Flutter,Dart,Flutter Animation,我正在实施David Anaya的颤振纺车1.1.0。我已经使用按钮点击实现了旋转,我想禁用默认的可拖动手势,即用于旋转轮子的手势。有谁能帮我禁用旋转轮上的拖动手势吗 下面是颤振纺纱机1.1.0插件的链接: 幸运的是,我自己找到了解决办法。 如果我们正确阅读上述插件文档,那么我们将在spinning_wheel.dart类中找到一个手势检测器 打开你的插件类(spinning_wheel.dart) 刚刚评论了我共享的以下代码,然后再次重建你的应用程序。您的可拖动手势将被禁用(这仅适用于那些试

我正在实施David Anaya的颤振纺车1.1.0。我已经使用按钮点击实现了旋转,我想禁用默认的可拖动手势,即用于旋转轮子的手势。有谁能帮我禁用旋转轮上的拖动手势吗

下面是颤振纺纱机1.1.0插件的链接:


幸运的是,我自己找到了解决办法。 如果我们正确阅读上述插件文档,那么我们将在spinning_wheel.dart类中找到一个手势检测器

打开你的插件类(spinning_wheel.dart)

刚刚评论了我共享的以下代码,然后再次重建你的应用程序。您的可拖动手势将被禁用(这仅适用于那些试图使用按钮旋转轮子的人)

类SpinningWheel扩展StatefulWidget{
-------
}
类\u SpinningWheelState扩展状态
使用SingleTickerProviderStateMixin{
------------
------------
@凌驾
小部件构建(构建上下文){
返回容器(
高度:widget.height,
宽度:widget.width,
子:堆栈(
儿童:[
//手势检测器(
//onPanUpdate:_moveWheel,
//onPanEnd:_startAnimationOnPanEnd,
//onPanDown:(\u详细信息)=>\u stopAnimation(),
//儿童:
动画生成器(
动画:_动画,
子:容器(子:widget.image),
生成器:(上下文,子对象){
_updateAnimationValues();
onUpdate(_currentDivider);
返回Transform.rotate(
角度:_初始角度+_当前距离,
孩子:孩子,
);
}),
//),
widget.secondaryImage!=null
?定位(
顶部:上二级图像,
左:leftSecondaryImage,
子:容器(
高度:HeightSecondary图像,
宽度:宽度第二图像,
子项:widget.secondaryImage,
))
:Container(),
],
),
);
}
-----------
-----------
}

为什么不在滚动开始后禁用任何手势?您好,谢谢您的回复。如果你已经正确地阅读了插件文档,那么你会发现我没有使用任何手势来旋转轮子,因为这是它的默认行为。在我的例子中,我创建了一个函数,并将其传递到名为shouldStartOrStop的属性中,该属性负责启动或停止控制盘(这是通过单击按钮实现的)。但是,当我们用手指拖动轮子时,轮子也会旋转,我没有找到任何方法在插件中禁用这个功能。
class SpinningWheel extends StatefulWidget {
-------
}

class _SpinningWheelState extends State<SpinningWheel>
    with SingleTickerProviderStateMixin {

------------
------------

@override
  Widget build(BuildContext context) {
    return Container(
      height: widget.height,
      width: widget.width,
      child: Stack(
        children: [
//          GestureDetector(
//            onPanUpdate: _moveWheel,
//            onPanEnd: _startAnimationOnPanEnd,
//            onPanDown: (_details) => _stopAnimation(),
            //child:
            AnimatedBuilder(
                animation: _animation,
                child: Container(child: widget.image),
                builder: (context, child) {
                  _updateAnimationValues();
                  widget.onUpdate(_currentDivider);
                  return Transform.rotate(
                    angle: _initialSpinAngle + _currentDistance,
                    child: child,
                  );
                }),
          //),
          widget.secondaryImage != null
              ? Positioned(
                  top: topSecondaryImage,
                  left: leftSecondaryImage,
                  child: Container(
                    height: heightSecondaryImage,
                    width: widthSecondaryImage,
                    child: widget.secondaryImage,
                  ))
              : Container(),
        ],
      ),
    );
  }

-----------
-----------
}