自定义Window
Tauri提供了许多定制应用程序窗口的外观和感觉的选项。您可以创建自定义标题栏、拥有透明窗口、强制大小限制等等。

配置

有三种方式改变窗口配置:

通过tauri.conf.json
通过JS API
通过Rust配置Window

创建自定义标题栏

这些窗口特性的一个常见用途是创建一个自定义标题栏。这个简短的教程将指导您完成这个过程。

CSS

你需要为标题栏添加一些CSS,以保持它在屏幕顶部,并样式按钮:

  1. .titlebar {
  2. height: 30px;
  3. background: #329ea3;
  4. user-select: none;
  5. display: flex;
  6. justify-content: flex-end;
  7. position: fixed;
  8. top: 0;
  9. left: 0;
  10. right: 0;
  11. }
  12. .titlebar-button {
  13. display: inline-flex;
  14. justify-content: center;
  15. align-items: center;
  16. width: 30px;
  17. height: 30px;
  18. }
  19. .titlebar-button:hover {
  20. background: #5bbec3;
  21. }

HTML

现在,您需要为标题栏添加HTML。把它放在标签的顶部:

  1. <div data-tauri-drag-region class="titlebar">
  2. <div class="titlebar-button" id="titlebar-minimize">
  3. <img
  4. src="https://api.iconify.design/mdi:window-minimize.svg"
  5. alt="minimize"
  6. />
  7. </div>
  8. <div class="titlebar-button" id="titlebar-maximize">
  9. <img
  10. src="https://api.iconify.design/mdi:window-maximize.svg"
  11. alt="maximize"
  12. />
  13. </div>
  14. <div class="titlebar-button" id="titlebar-close">
  15. <img src="https://api.iconify.design/mdi:close.svg" alt="close" />
  16. </div>
  17. </div>

请注意,您可能需要将剩余的内容向下移动,这样标题栏就不会覆盖它。

JS

最后,你需要让按钮工作:

  1. import { appWindow } from '@tauri-apps/api/window'
  2. document
  3. .getElementById('titlebar-minimize')
  4. .addEventListener('click', () => appWindow.minimize())
  5. document
  6. .getElementById('titlebar-maximize')
  7. .addEventListener('click', () => appWindow.toggleMaximize())
  8. document
  9. .getElementById('titlebar-close')
  10. .addEventListener('click', () => appWindow.close())