参考文章: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);
});
如果有更好的方法在评论区留言哦,我会非常感激你的留言的!