show static method
void
show({
- required BuildContext context,
- required String accountId,
- Offset? initialOffset,
- VoidCallback? onSendMessage,
- 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!);
}