机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
动机与维护
由于 Flutter 已经对 Windows 提供了稳定支持,因此有必要支持其 UI 指南,以便高保真地构建应用程序,就像它支持 Material 和 Cupertino 一样。有关官方 Fluent UI 支持的更多信息,请参见 this
另请参见:
这是一个开源软件包,这意味着任何人都可以为它做出贡献。然而,我,bdlukaa,是唯一一个积极维护它的人,因此审查和合并拉取请求可能需要一些时间。如果你想支持这个项目,你可以赞助我。
安装
将该包添加到你的依赖项中:
dependencies:
fluent_ui: ^4.17.0
或
dependencies:
fluent_ui:
git: https://github.com/bdlukaa/fluent_ui.git
最后,运行 dart pub get 来下载该包。
使用此库的项目应使用 Flutter 的稳定通道
开发工具图标浏览器
fluent_ui 包含一个 Fluent UI DevTools 扩展,用于浏览 FluentIcons 和 WindowsIcons 目录。从依赖于 fluent_ui 的项目中打开 DevTools,选择 Fluent UI 选项卡,并在 DevTools 提示时启用该扩展。搜索支持部分名称,并会忽略空格、连字符和下划线。选择一个图标以进行检查,然后点击它以复制其 Dart 标识符或从预览中复制使用代码片段。
强调色
常用控件使用强调色来传达状态信息。了解更多。
默认情况下,强调色是 Colors.blue 。但是,您也可以自定义应用的强调色以反映您的品牌:
FluentThemeData(
accentColor: Colors.blue,
)
要使用系统的强调色,您可以使用插件 system_theme。它支持 Android、iOS、Web、MacOS、Windows 和 Linux (GTK 3) 平台。
import 'package:system_theme/system_theme.dart';
FluentThemeData(
accentColor: AccentColor.swatch({
'darkest': SystemTheme.accentColor.darkest,
'darker': SystemTheme.accentColor.darker,
'dark': SystemTheme.accentColor.dark,
'normal': SystemTheme.accentColor.accent,
'light': SystemTheme.accentColor.light,
'lighter': SystemTheme.accentColor.lighter,
'lightest': SystemTheme.accentColor.lightest,
}),
)
本地化
FluentUI 小组件目前开箱即用支持多种语言,包括:
- 阿拉伯语 (@dmakwt)
- 印度尼西亚语 (@ekasetiawans)
- 白俄罗斯语 (@superkeka)
- 捷克语 (@morning4coffe-dev)
- 克罗地亚语 (@ZeroMolecule)
- 荷兰语 (@h3x4d3c1m4l)
- 英语
- 法语 (@WinXaito)
- 德语 (@larsb24)
- 希腊语 (@pana-g)
- 希伯来语 (@yehudakremer)
- 印地语 (@alexmercerind)
- 匈牙利语 (@RedyAu)
- 意大利语 (@patricknicolosi)
- 日语 (@chari8)
- 韩语 (@dubh3)
- 马来语 (@jonsaw)
- 尼泊尔语 (@larence-cres)
- 波斯语 (@xmine64)
- Polish (@madik7)
- 葡萄牙语 (@bdlukaa)
- 罗马尼亚语 (@antoniocranga)
- 俄语 (@raitonoberu)
- 简体中文 (@zacksleo, @rk0cc)
- 他加禄语 (@Yivan000)
- 泰米尔语 (@sarankumar-ns)
- 繁体中文 (@zacksleo, @rk0cc)
- 泰语 (@lines-of-codes)
- 土耳其语 (@timurturbil)
- 西班牙语 (@henry2man)
- 乌克兰语 (@vadimbarda)
- 乌尔都语 (@sherazahmad720)
- 乌兹别克语 (@bobobekturdiyev)
如果不支持某种语言,您的应用可能会崩溃。您可以添加对新语言的支持或使用受支持的语言。了解更多
贡献
所有贡献都非常欢迎 :)
贡献新的本地化内容
在PR#216中,我们在FluentUI小部件中添加了对新本地化的支持。
如果你想贡献新的本地化,请按以下步骤操作:
- 分叉此仓库
- 将
lib/l10n/intl_en.arb文件复制到lib/l10n文件夹中,并使用新的语言代码,参考ISO 859-1 代码列表 - 更新新创建的文件内容。特别是,请将
@locale的值更新为对应的ISO代码。 - 运行你的项目,将会生成代码,或者运行命令
flutter gen-l10n - 完成后,发起新的拉取请求
更多关于Flutter 官方文档中的本地化的信息
致谢
不分先后,感谢以下所有对项目有贡献的人。这对我意义重大 :)
- @HrX03,感谢其提供的
Acrylic、FluentIcons生成器和_FluentTextSelectionControls实现。 - @raitonubero 的
ProgressBar和ProgressRing实现 - @alexmercerind,感谢 flutter_acrylic 插件,用于示例应用程序
- @leanflutter,感谢 window_manager 插件,用于示例应用程序
- @henry2man 对于 本地化支持
- @klondikedragon 由于
CommandBar实现
- 本文标题:fluent_ui - Flutter 中的微软 WinUI3
- 本文链接:https://www.cn121.com/mobile/bdlukaa-fluent-ui.html
- 原项目:bdlukaa/fluent_ui 版权归原作者 bdlukaa 及贡献者所有
- 收录信息:本站于 2026-10-22 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 BSD-3-Clause(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 bdlukaa/fluent_ui。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。