as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
@amazon-devices/lottie-react-native库扩展了Lottie React Native,以在适用于Vega的React Native (RNV) 应用中支持Lottie动画。您在TypeScript和JavaScript RNV项目中都可以使用这个库来运行Lottie动画。 您无需单独安装此库,因为它已预装在RNV应用中。它可作为自动链接库,在运行时连接到您的应用。请记住,只能确保这个库与其对应的RNV版本兼容。 亚马逊建议您在升级RNV版本的同时更新此库版本。这种做法有助于保持一致性,并允许您使用最新的功能和改进。

安装

要使用该程序包,请按照以下说明进行操作:
  1. 在package.json文件中添加JavaScript库依赖项。选择适用于您的React Native版本的选项卡。
  1. 使用npm install命令重新安装package-lock.json文件。
  2. 将您的Lottie动画添加到<应用程序包的根目录>/src/js/resources/。将Lottie动画的图像添加到<应用程序包的根目录>/assets/image/。
在Vega上,您可以将Lottie动画(并非其图像资产)放置在<应用程序包的根目录>/assets/raw/中。

示例

您可以用声明方式使用Lottie,如以下示例所示。
或者,您可以使用这个命令式API,如以下示例所示。

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属性,请执行以下步骤:
  1. 将您的图像资产复制到[项目文件夹]/assets/image中。
  2. 创建lottie子文件夹。如果需要,为每个动画创建子文件夹。
  3. 在imageAssetsFolder属性中,使用其相对路径引用该文件夹。例如:imageAssetsFolder={‘lottie/animation_1’}。
默认情况下,RNV提供[项目文件夹]/assets/image。对于直接添加到该文件夹的图像,您无需更新imageAssetsFolder。 例如,以下路径不需要更新imageAssetsFolder:[项目文件夹]/assets/image/images/img_0.png。 以下示例显示了JSON结构以供参考。

支持的版本

相关主题


最后修改于 2026年10月26日