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