【发布时间】:2019-08-30 01:53:17
【问题描述】:
我正在创建一个 Electron 应用程序,我们希望将一个具有导航外观的工具栏停靠在屏幕右侧。它需要在右侧,因为我们的大多数用户都在 Windows 上,将其停靠在左侧意味着它会重叠很多图标,并且会被开始菜单覆盖。
当用户点击一个图标时,我需要窗口向左打开/调整大小。
在应用启动时,我会创建一个新窗口
mainWindow = new BrowserWindow({
width: 800,
height: 600,
center: true,
backgroundColor: '#18A4FC'
})
然后在用户通过身份验证后,我使用 ipcRender 向 main.js 文件发送成功消息。目前,这使用 setBounds 方法和屏幕尺寸将窗口“停靠”在屏幕右侧。
ipcMain.on('login-success', () => {
let display = electron.screen.getPrimaryDisplay()
const { width, height } = display.bounds
mainWindow.setBounds({
x: width - 40,
y: 0,
width: 40,
height: height
})
})
然后,当用户单击图标时,我使用 setSize 来“打开”停靠栏。这意味着我将窗口的宽度从 40 像素更改为 480 像素。但它在屏幕外向右打开。我需要它向左打开。
ipcMain.on('resize-open', () => {
let display = electron.screen.getPrimaryDisplay()
const { height } = display.bounds
mainWindow.setSize(480, height)
})
任何想法如何做到这一点?我知道宽度,高度从左上角设置为 0,0。有什么办法可以重置吗?
【问题讨论】:
标签: javascript electron