視窗自訂
Tauri 提供許多選項,可自訂應用程式視窗的外觀和風格。您可以建立自訂標題列、使用透明視窗、強制大小限制等。
設定
有三個方法可以變更視窗設定
建立自訂標題列
這些視窗功能的常見用途是建立自訂標題列。本簡短教學課程將引導您完成此程序。
CSS
您需要新增一些 CSS 給標題列,以將其保持在螢幕頂端並設定按鈕樣式
.titlebar {
height: 30px;
background: #329ea3;
user-select: none;
display: flex;
justify-content: flex-end;
position: fixed;
top: 0;
left: 0;
right: 0;
}
.titlebar-button {
display: inline-flex;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
}
.titlebar-button:hover {
background: #5bbec3;
}
HTML
現在,您需要新增標題列的 HTML。將其放在 <body>
標籤的頂端
<div data-tauri-drag-region class="titlebar">
<div class="titlebar-button" id="titlebar-minimize">
<img
src="https://api.iconify.design/mdi:window-minimize.svg"
alt="minimize"
/>
</div>
<div class="titlebar-button" id="titlebar-maximize">
<img
src="https://api.iconify.design/mdi:window-maximize.svg"
alt="maximize"
/>
</div>
<div class="titlebar-button" id="titlebar-close">
<img src="https://api.iconify.design/mdi:close.svg" alt="close" />
</div>
</div>
請注意,您可能需要將其他內容向下移動,以避免標題列遮蓋住內容。
JS
最後,您需要讓按鈕運作
import { appWindow } from '@tauri-apps/api/window'
document
.getElementById('titlebar-minimize')
.addEventListener('click', () => appWindow.minimize())
document
.getElementById('titlebar-maximize')
.addEventListener('click', () => appWindow.toggleMaximize())
document
.getElementById('titlebar-close')
.addEventListener('click', () => appWindow.close())
tauri.conf.json
若要讓對 appWindow
的呼叫運作,別忘了在 tauri.conf.json
檔案中新增 window 權限
"tauri": {
"allowList": {
...
"window": {
"all": false,
"close": true,
"hide": true,
"show": true,
"maximize": true,
"minimize": true,
"unmaximize": true,
"unminimize": true,
"startDragging": true
}
}
...
"windows": [
{
"decorations": false,
...
}
]
}