【问题标题】:Flutter Desktop - System tray implementationFlutter Desktop - 系统托盘实现
【发布时间】:2021-01-26 00:50:18
【问题描述】:
我是 Flutter 的新手,我正在努力创建系统托盘实现。
我需要的是:
- 为我的应用程序创建一个托盘图标。
- 可以通过托盘图标右键菜单隐藏和显示应用程序窗口。
- 能够为托盘图标右键菜单添加选项,例如打开屏幕 X。
- 能够启动和停止某些进程,并实时更改托盘图标(见下图)。
有人可以指导我吗? :D
P.S.:我的应用程序将在 Windows、Linux 和 MacOS 上运行。
谢谢大家!
【问题讨论】:
标签:
flutter
system-tray
flutter-plugin
flutter-desktop
【解决方案1】:
截至 2021 年 10 月,Flutter 中没有官方支持使用系统托盘,但有许多库可以帮助您:
它们都与 Windows、Mac 和 Linux 上的桌面应用程序兼容(在 Linux 中你必须做一些额外的配置过程,实际上我正在努力让它在带有 KDE 的 Debian Linux 中工作)。
两者还为您提供了编辑图标和添加选项菜单的选项。
要隐藏和显示应用程序窗口,Flutter 没有官方支持,但同样有一个库可以帮助您:Window Manager (link)。
最后,在您的最后一点中,您要求“能够启动和停止某个进程”。这里不需要外部库,因为在 dart:io 中有一个非常有用的类,即 Process (link)