@amazon-devices/lottie-react-native库扩展了Lottie React Native,以在适用于Vega的React Native (RNV) 应用中支持Lottie动画。您在TypeScript和JavaScript RNV项目中都可以使用这个库来运行Lottie动画。
您无需单独安装此库,因为它已预装在RNV应用中。它可作为自动链接库,在运行时连接到您的应用。请记住,只能确保这个库与其对应的RNV版本兼容。
亚马逊建议您在升级RNV版本的同时更新此库版本。这种做法有助于保持一致性,并允许您使用最新的功能和改进。
安装
要使用该程序包,请按照以下说明进行操作:- 在
package.json文件中添加JavaScript库依赖项。选择适用于您的React Native版本的选项卡。
- React Native 0.72
- React Native 0.83
-
使用
npm install命令重新安装package-lock.json文件。 - 将您的Lottie动画添加到<应用程序包的根目录>/src/js/resources/。将Lottie动画的图像添加到<应用程序包的根目录>/assets/image/。
示例
您可以用声明方式使用Lottie,如以下示例所示。API
RNV使用lottie-react-native来增加对Lottie动画的支持,并支持与lottie-react-native API相同的API。@amazon-devices/lottie-react-native库不支持iOS、Android和Windows专属属性。
组件API
方法(命令式API):
如示例所示,通过使用React.useRef捕获组件,您可以按命令式方式控制Lottie组件。该参考提供了对下面所列方法的访问,您可以使用这些方法对动画的行为进行更精细的控制。
当动画处于与方法相同的状态时,您不能调用这些方法。例如,您不能在动画播放时调用play()。
如果您在动画播放时使用不同的参数调用play(),则该库将使用最近一次调用中传递的参数。
Vega上的例外情况
Vega不支持以下操作和API:- 使用URI将远程资产传递给“source”
.lottie格式的资产ColorFilters- 测试筛选条件 - Vega上没有与
TestFilterIos或TestFilterAndroid对应的筛选条件。
使用ImageAssetsFolder
要使用RNV中的imageAssetsFolder属性,请执行以下步骤:
- 将您的图像资产复制到[项目文件夹]/assets/image中。
- 创建lottie子文件夹。如果需要,为每个动画创建子文件夹。
-
在
imageAssetsFolder属性中,使用其相对路径引用该文件夹。例如:imageAssetsFolder={‘lottie/animation_1’}。
imageAssetsFolder。
例如,以下路径不需要更新imageAssetsFolder:[项目文件夹]/assets/image/images/img_0.png。
以下示例显示了JSON结构以供参考。

