getWidgetOffset method

Offset getWidgetOffset(
  1. BuildContext context,
  2. GlobalObjectKey<State<StatefulWidget>> targetKey
)

Implementation

Offset getWidgetOffset(BuildContext context, GlobalObjectKey targetKey) {
  // 获取目标Widget的RenderObject
  RenderBox targetBox =
      targetKey.currentContext!.findRenderObject() as RenderBox;

  // 获取目标Widget在全局坐标系中的位置
  Offset targetOffset = targetBox.localToGlobal(Offset.zero);

  // 获取当前Widget的RenderObject
  RenderBox thisBox = context.findRenderObject() as RenderBox;

  // 获取当前Widget在全局坐标系中的位置
  Offset thisOffset = thisBox.localToGlobal(Offset.zero);

  // 计算目标Widget相对于当前Widget的偏移量
  Offset offset = targetOffset - thisOffset;

  return offset;
}