bramblex / niva

一个基于 Tauri WRY 跨端 Webview 库的超轻量极易用的跨端应用开发框架。
https://bramblex.github.io/niva/
MIT License
644 stars 35 forks source link

如何实现程序一启动就根据屏幕判断自动让窗口居中 #97

Open godcop opened 1 year ago

godcop commented 1 year ago

目前我的折衷方案是程序启动后利用api判断屏幕和窗口大小,然后设置窗口坐标。但缺点是窗口启动后先在一个坐标,等程序启动后才移到中部位置,会有一个时间差,窗口会跳一下。 我的代码是:main.js Niva.api.window.setDecorated(true)

var screen = {} var window = {}

Promise.all([ Niva.api.monitor.current().then((res) => { // console.log(res) screen = res.size }), Niva.api.window.outerSize().then((res) => { console.log(res) window = res }) ]).then(() => { var position = { x: screen.width / 2 - window.width / 2, y: screen.height / 2 - window.height / 2 } console.log(position)

Niva.api.window.setOuterPosition({ "x": position.x, "y": position.y }) });

wish5115 commented 8 months ago

你可以启动前先隐藏,位置设置好后再显示