Har*_*eld 5 react-native bodymovin expo lottie
我似乎无法让 colorFilter 属性与我的 .json 文件一起使用。没有错误,但颜色显然没有改变。
<LottieView
style={{
width: 90,
height: 90,
}}
colorFilters={
[
{
keypath: "asdf",
color: "#abcdef",
}
]
}
source={badge.icon}
loop={false}
/>
Run Code Online (Sandbox Code Playgroud)
我正在使用 BodyMovin 从 After Effects 导入 .json,但我是否正确更改了图层名称?如果不是的话,这到底为什么不起作用?

我无法让 colorFilters 工作,但您可以尝试执行以下操作:
import myAnimation from "./../img/myAnimation.json";
Run Code Online (Sandbox Code Playgroud)
在渲染部分使用 LottieView 进行导入,而不是使用 require 内联
<LottieView
//source={require("./../img/radius.json")}
source={myAnimation}
/>
Run Code Online (Sandbox Code Playgroud)
现在你可以直接从json对象操作属性,例如这里我根据实际颜色(从黑到白或从白到黑)来操作颜色
myAnimation.layers[1].shapes[0].it[1].c.k = myAnimation.layers[1].shapes[0].it[1].c.k[0] == 0 ? [1,1,1,1] : [0,0,0,1];
Run Code Online (Sandbox Code Playgroud)
要找出您需要的属性是什么,请检查 json,它不是很清楚,但经过一些尝试和错误您可以理解其结构。
只需尝试使用 React Native,它对我来说效果很好
<LottieView
style={style.heartLootie}
source={require("../../assets/animations/favorite_animation.json")}
progress={animationProgress}
colorFilters={[
{ keypath: "Red Heart", color: themeColors.PRIMARY },
{ keypath: "Grey Heart", color: themeColors.SECONDARY },
]}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6245 次 |
| 最近记录: |