0

我想确定一个小部件是否正在触摸另一个小部件,到目前为止,我有以下偏移量 - 小部件的位置。然而,这是一个单一的点,而不是一个包含的区域。

Offset(48.8, 425.6)<- 框 1 Offset(70.0, 456.0)<-- 框 2

确定框 1 是否在框 2 附近的最佳方法是什么(框 2 将按 xx 号放大以改善匹配)

我正在使用 GlobalKeys 来确定位置,如下所示

RenderBox box1 = box1Key.currentContext.findRenderObject();
Offset box1Pos = box1.localToGlobal(Offset.zero);

RenderBox box2 = box2Key.currentContext.findRenderObject();
Offset box2Pos = box2.localToGlobal(Offset.zero);
4

1 回答 1

1

您可以使用该类Rect来定义您的小部件之一的边界,然后使用该方法contains

https://api.flutter.dev/flutter/dart-ui/Rect/contains.html

Rect课程还具有intersect更适合您的问题的方法。

https://api.flutter.dev/flutter/dart-ui/Rect/intersect.html

于 2020-06-01T07:39:14.933 回答