一尘不染

为什么cupertino_icons中的图标很少?

flutter

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

为什么没有更多/全部图标?

查看 常数
CupertinoIcons
我可以看出里面有 35个 图标CupertinoIcons

文档页面上介绍了此地图

该图标字体中的图标图。

我希望 ,所有这些图标也将被刊登在CupertinoIcons,正好有 374 丢失,因为有 409个 的图标上的特色
地图

对我来说,CupertinoIcons是只稍微没用 35级
的图标,我可以,而不必访问cupertino_iconspubspec.yaml

我认为 安装cupertino_icons可能会有所改变。

插件实际上是做什么的?

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

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


阅读 478

收藏
2020-08-13

共1个答案

一尘不染

该插件确保包含必要的资产(字体)。

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

至于为什么…目前可能还没有任何人优先考虑它。查找,命名和显示这些图标有些繁琐,而且我想像很多这样做的人最终都会想出“好,我现在完成了”,而不是将其回馈给项目。

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

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文件包含在您的应用程序中(该应用程序将需要在运行时呈现图标)。但是,如果您不打算使用它们,请不要包含它,因为它会使您的应用超出其所需的大小(多余的字体会占用空间)。

2020-08-13