我正在尝试在我的zoomable_images 插件中实现双击缩放,但GestureTapCallback不提供点击位置信息。
理想情况下,偏移量将由回调返回。是否有其他 API 用于此?
Col*_*son 10
您可以提供GestureTapDownCallback
回调作为构造函数的onTapDown
参数GestureDetector
。将GestureTapDownCallback
采取TapDownDetails
包括水龙头的全球地位的说法。然后,您可以使用BuildContext.findRenderObject
和将其转换为相对坐标RenderBox.globalToLocal
:
Offset _tapPosition;
void _handleTapDown(TapDownDetails details) {
final RenderBox referenceBox = context.findRenderObject();
setState(() {
_tapPosition = referenceBox.globalToLocal(details.globalPosition);
});
}
@override
Widget build(BuildContext context) {
return new GestureDetector(
/* ... */
onTapDown: _handleTapDown,
);
}
Run Code Online (Sandbox Code Playgroud)
在您的onDoubleTap
处理程序中,您可以参考_tapPosition
以找出最近点击的位置。
有关此操作的示例,请参阅InkWell
。
归档时间: |
|
查看次数: |
3698 次 |
最近记录: |