show static method

void show({
  1. required BuildContext context,
  2. required String accountId,
  3. Offset? initialOffset,
  4. VoidCallback? onSendMessage,
  5. VoidCallback? onClose,
})

显示用户资料浮层

context 用于获取 Overlay accountId 要展示的用户 ID initialOffset 弹出层的初始位置,可选(默认居中偏右) onSendMessage 点击"发消息"时的回调 onClose 关闭时的回调

Implementation

static void show({
  required BuildContext context,
  required String accountId,
  Offset? initialOffset,
  VoidCallback? onSendMessage,
  VoidCallback? onClose,
}) {
  // 先移除已有的弹层
  dismiss();

  final overlay = Overlay.of(context);

  _currentEntry = OverlayEntry(
    builder: (overlayContext) {
      return _UserProfilePopoverWidget(
        accountId: accountId,
        initialOffset: initialOffset ??
            Offset(
              MediaQuery.of(context).size.width * 0.5 - 160,
              MediaQuery.of(context).size.height * 0.2,
            ),
        onSendMessage: onSendMessage,
        onClose: () {
          dismiss();
          onClose?.call();
        },
      );
    },
  );

  overlay.insert(_currentEntry!);
}