setSmartEdgeDocking static method
启用/禁用智能停靠机制(类似QQ的智能停靠功能)
enabled 是否启用智能停靠
visibleWidth 停靠时可见的宽度(默认5像素)
与 dockToCorner 的区别:
- setSmartEdgeDocking: 自动检测 + 智能隐藏 + 鼠标交互
智能停靠行为:
- 自动检测: 监听窗口拖拽,当窗口超出屏幕边界时自动触发
- 两步式停靠: 先对齐到目标位置,再根据鼠标位置智能隐藏
- 智能判断:
- 窗口同时超出两个相邻边界(如左边和上边)→ 角落停靠
- 窗口只超出一个边界 → 边缘停靠
- 鼠标交互: 鼠标悬停显示完整窗口,离开后自动隐藏
使用场景:
- 需要类似QQ的智能停靠体验
- 希望窗口能自动隐藏以节省屏幕空间
- 需要鼠标悬停交互的应用
示例:
// 启用智能停靠
await MyApp.setSmartEdgeDocking(enabled: true, visibleWidth: 8.0);
// 禁用智能停靠
await MyApp.setSmartEdgeDocking(enabled: false);
Implementation
static Future<void> setSmartEdgeDocking({
required bool enabled,
double visibleWidth = 5.0,
}) async {
await MySmartDock.setSmartEdgeDocking(
enabled: enabled,
visibleWidth: visibleWidth,
);
}