electron的(maximize)最大化方法会导致头部白色横条以及四周大黑边

参考文章:https://www.w3cways.com/2505.html 感谢这位博主

我在使用win.maximize()后发现应用程序虽然最大化了,但是四周和顶部有一定宽度的黑边白边,在百度一段时间后没有发现其他人有这个问题 唉

必现步骤: 只要拖拽应用程序窗口后再最大化就会一直出现,拖拽之前的最大化是无问题的
问题截图:
上边是5px左右的白边,左右为5px左右的黑边,目测是electron窗口的留白,因为我在这个黑边上可以进行窗口的拖拽和放大缩小。
在这里插入图片描述

修复逻辑: 监听应用窗口最大化事件,在最大化事件中使用setSize等操作进行模拟最大化实现目标效果
修复代码:

  // 监听最大化后重新执行最大化逻辑,修复最大化后黑边的问题
  win.on('maximize', (e: any) => {
    e.preventDefault();
    setTimeout(() => {
      // 处理用户有多个屏幕的情况
      const currentCursor = screen.getCursorScreenPoint();
      const activeScreen = screen.getDisplayNearestPoint(currentCursor);
      const { width: screenWidth, height: screenHeight } = activeScreen.workAreaSize;
      win.setMaximumSize(screenWidth, screenHeight);
      win.getMaximumSize();
      win.setSize(screenWidth, screenHeight);
      win.center();
    }, 50);
  });

如果有更好的方法在评论区留言哦,我会非常感激你的留言的!

你可能感兴趣的:(踩坑,electron,javascript,前端)