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

文章讲述了在使用Electron开发的应用中,遇到窗口最大化后四周出现黑边白边的异常情况。作者发现该问题是由于窗口拖拽后再最大化导致的,并提供了一个修复方案:监听窗口最大化事件,然后通过设置最大尺寸和窗口大小来模拟无边框最大化效果。修复代码包括设置最大尺寸、窗口大小以及居中位置。
摘要由CSDN通过智能技术生成

参考文章: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);
  });

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值