setSmartEdgeDocking static method

Future<void> setSmartEdgeDocking({
  1. required bool enabled,
  2. double visibleWidth = 5.0,
})

启用/禁用智能停靠机制(类似QQ的智能停靠功能)

enabled 是否启用智能停靠 visibleWidth 停靠时可见的宽度(默认5像素)

dockToCorner 的区别

智能停靠行为

  1. 自动检测: 监听窗口拖拽,当窗口超出屏幕边界时自动触发
  2. 两步式停靠: 先对齐到目标位置,再根据鼠标位置智能隐藏
  3. 智能判断:
    • 窗口同时超出两个相邻边界(如左边和上边)→ 角落停靠
    • 窗口只超出一个边界 → 边缘停靠
  4. 鼠标交互: 鼠标悬停显示完整窗口,离开后自动隐藏

使用场景

  • 需要类似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,
  );
}