带有 Lottie 的动态按钮

Posted

技术标签:

【中文标题】带有 Lottie 的动态按钮【英文标题】:Dynamic button with Lottie 【发布时间】:2019-01-25 05:09:36 【问题描述】:

我想创建具有三种不同状态的按钮,即初始、正在加载、已完成。

按钮状态的 UI:

初始 -> 文本标签

正在加载 -> 加载指示器/多张图片

已完成 -> 文本标签

当用户点击它时,它通常会处于Initial状态,然后它会改变它的状态为Loading,并转换自身以在其中显示加载指示器。完成后,它将动画并转换以显示标签。

如何使用 Lottie 实现它? 我需要动态设置初始和完成状态文本,但根据文档,我找不到将文本更改为 Lottie 的方法。

有了 Lottie,我可以使用进度动画来处理按钮的不同状态,但是如何在没有新的 json 文件的情况下以编程方式更改文本。

Lottie 在 ios 中不支持文本层。除了使用形状层之外,还有什么解决方法吗?

【问题讨论】:

【参考方案1】:

您可以通过直接以编程方式修改 JSON 本身来修改 JSON 中按钮的文本。由于 Lottie 动画和视图由 JSON 管理,因此这是不可能的。

【讨论】:

iOS 中的 Lottie 不支持文本图层。你有什么解决方法吗?【参考方案2】:

Lottie 中对此没有适当的 API 支持,但此线程讨论了您可以通过 json 文件更改文本的可能方式:

https://github.com/airbnb/lottie-web/issues/238

【讨论】:

以上是关于带有 Lottie 的动态按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何优雅的展示动态图标lottie-react-native

lottie动画以及动态修改tabbaritem显示问题

带有图像的动态按钮

IOS10 Firebase 动态链接显示带有打开按钮的空白页面。但为啥?

带有 Kivy 图像的动态按钮

带有图像和动态文本“下方”的 UITool 栏按钮