如何在flutter交互式查看器中只使用鼠标左键平移



我有一个交互式查看器,它封装了一个图像。我希望用户只能用鼠标左键平移,然后用鼠标右键打开菜单。目前,菜单通过右键单击打开,图像也通过右键点击进行平移。有没有一种方法可以在交互式查看器中停止右键平移?

Widget build(BuildContext context) {
return Center(
child: InteractiveViewer(
transformationController: _controller,
boundaryMargin: EdgeInsets.all(10000),
clipBehavior: Clip.none,
minScale: 0.0001,
maxScale: 10,
constrained: true,
child: Stack(
children: [
Align(
alignment: AlignmentDirectional(0, 0),
child: Image(
image: AssetImage(widget.imagePat),
filterQuality: FilterQuality.medium,
isAntiAlias: true,
),
),
Align(
alignment: AlignmentDirectional(0.11, 0.09),
child: SizedBox(
width: 40,
height: 40,
child: TextButton(
style: ElevatedButton.styleFrom(
primary: Color.fromARGB(24, 0, 0, 0)),
onPressed: () => {},
child: Container(),
),
),
),
],
),
),
);
}
  • 将InteractiveViewer脚本复制到库中
  • 找到手势检测器,并将"onScale"事件更改为"onPan">
  • 然后对这些功能进行一些调整

(之后平滑动画将无法工作(此外,它可能在移动设备上不起作用。

最新更新