dart - 为什么 cupertino_icons 中的图标很少?

两个个问题。我认为将它们结合起来可能更明智,因为它们之间的关系非常密切。

为什么没有更多/所有图标?

constants of the CupertinoIcons class我发现 CupertinoIcons 中有 35 个图标。

文档页面说 this map :

a map of the icons in this icons font.

我希望所有这些图标也会出现在 CupertinoIcons 中,只是缺少 374因为 map 上有409图标。

对我来说,CupertinoIcons 仅使用 35 图标有点没用,我可以在我的 pubspec 中没有 cupertino_icons 的情况下访问这些图标。 yaml.

我认为安装 cupertino_icons 可能会改变一些东西。

插件实际上做了什么?

现在,我安装了 cupertino_icons plugin , 没有改变。我仍然可以访问与以前完全相同的 35 图标(无论是否使用插件,它们都会显示)。

发生这种情况是因为我的设备已经安装了字体,因此不需要 cupertino_icons 插件即可工作?

最佳答案

插件确保包含必要的 Assets (字体)。

如果您查看源代码,您可以轻松地复制其中定义的常量,只要它们存在于字体中。而且由于 Flutter 是开源的,如果您在其中发现其他您认为应该向用户公开的有用图标,您当然可以为此创建一个 PR。

至于为什么……目前可能还没有任何人优先考虑它。查找、命名和公开这些图标有点乏味——我想很多这样做的人最终只是想“好吧,我现在完成了”,而不是把它回馈给项目。

您可以看到字体here 中包含的图标的更完整列表。 .您可以使用这些图标中的任何一个,即使它尚未在 Cupertino 图标类中定义。例如,如果您出于某种原因想要棒球图标:

const IconData baseball = const IconData(
  0xf4ba, 
  fontFamily: CupertinoIcons.iconFont, 
  fontPackage: CupertinoIcons.iconFontPackage);

完全可以将其作为拉取请求添加到 https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/cupertino/icons.dart - 但我想它不在其中,因为它不被视为常用或必要的,或者可能是因为有人还没有接触到它。

无论哪种方式,您仍然需要 cupertino_icons 包,因为这将确保 .ttf 文件包含在您的应用中(应用需要在运行时呈现图标)。但是,如果您不打算使用它们,请不要包含它,因为它会导致您的应用程序比实际需要的大(额外的字体会占用空间)。

https://stackoverflow.com/questions/51107173/

相关文章:

android-studio - flutter :发布失败

dart - Flutter - 动态构建小部件

android - 在模拟器相机应用程序中看不到虚拟场景图像

firebase - Flutter 中的 cloud_firestore 和 firebase_a

flutter - 找不到名为 "split-per-abi"的选项

flutter - 根据另一个小部件的位置/大小定位/调整小部件的大小

dart - Flutter.io (dart) - 如何创建左填充覆盖?

dart - Flutter popUntil 抛出Bad state : Future alrea

dart - Flutter:测试是否抛出了特定的异常

dart - Flutter - 在底部绘制一个矩形