@amazon-devices/react-native-vector-icons库在Vega上提供对react-native-vector-icons的支持。该库提供可自定义的矢量图标,非常适合装饰按钮、标志和导航栏或选项卡栏,可以无缝集成到您的项目中。它们的多功能性使扩展和样式设定都很轻松。
此库由系统部署,可供适用于Vega的React Native应用使用,无需单独的安装过程。此库作为自动链接库进行部署,您的应用在运行时会链接到该库。该库保证仅与为之构建的适用于Vega的React Native版本兼容。
升级应用的适用于Vega的React Native版本时,可以考虑升级其库依赖关系的最佳实践。
有关此库及其API的更多信息,请参阅GitHub存储库中的README.md(仅提供英文版)。
安装
-
在package.json文件中添加JavaScript库依赖项:
-
使用
npm install命令重新安装依赖项。 -
将您的字体文件添加到
<app_package_root>/assets/fonts
升级
升级此包时,升级链接到项目的字体文件。如果自动链接对您有用,再次运行它应该会更新字体。否则,按照安装部分中概述的步骤进行操作。示例
IconExplorer
在GitHub react-native-vector-icons存储库的packages/icon-explorer中试用IconExplorer项目。您还可以在那里搜索任何图标。
基本示例
返回图标的基本示例:TabBar
下面的示例显示了如何实现TabBar。 下面的示例取自react-navigation:
API支持
Icon组件
可以使用库自带的图标之一(例如,下面的示例使用FontAwesome.js中的图标),也可以创建自己的自定义字体。属性
任何Text属性以及以下属性:方法
样式
Icon建立在Text组件之上,因此大多数样式属性都正常有效。
试试以下属性:
backgroundColorborderWidthborderColorborderRadiuspaddingmargincolorfontSize


Icon.Button组件
一个方便的组件,用于创建左侧带有图标的按钮。
属性
您可以使用Text、TouchableHighlight或TouchableWithoutFeedback属性,以及以下属性。
用作PNG图像/源对象
用于依赖位图图像而不是可缩放矢量图标的其他组件。采用上述参数name、size和color。
Icon.getImageSourceSync来避免出现故障。请记住,此方法会产生阻塞并可能导致性能损失。但是,后续调用将使用缓存。
多样式字体
react-native-vector-icons库支持FontAwesome 5等多样式字体。其用法与标准Icon组件类似:
方法
Icon中的所有静态方法均支持多样式字体。
如果没有传递任何样式参数(或者它无效),则这些方法将默认设置为预定义的回退。
组件
支持Icon.Button。用法与Icon相同:
自定义字体
createIconSet(glyphMap, fontFamily[, fontFile])
根据glyphMap返回您自己的自定义字体。键是图标名称,值是UTF-8字符,或其字符代码。该字体的名称是fontFamily,但这不是文件名的名称。在Font Book.app或类似应用中打开字体以了解名称。
createIconSetFromFontello(config[, fontFamily[, fontFile]])
您可以根据fontello配置文件创建自定义字体。别忘了如上所述导入字体,然后将config.json放到项目中便利的位置。createIconSetFromIcoMoon(config[, fontFamily[, fontFile]])
.zip中包含的.json文件。按照前面的说明将.ttf字体文件导入到您的项目中。
createMultiStyleIconSet(styles [, options])
动画
React Native自带了一个名为Animated的动画库。要将其与图标一起使用,使用以下代码创建动画组件即可:const AnimatedIcon = Animated.createAnimatedComponent(Icon)。

