Animation和LayoutAnimation API之间的区别?

时间:2020-09-01 11:51:56

标签: reactjs react-native

React Native的文档对LayoutAnimation的描述如下:

在下一个下一个视图时自动将视图设置为新位置 布局发生了。

我不明白为什么Animation API已经可以做到这一点。

为什么/何时应该使用LayoutAnimation API?

1 个答案:

答案 0 :(得分:1)

我读到了here,它说:

LayoutAnimation通过按视图的唯一键来标识视图, 计算他们的预期位置,并依靠潜在的 原生框架(iOS上为CoreAnimation)以动画化更改。帧 只要视图之间保持相同的键,就可以对更改进行动画处理 状态更改。不透明度和比例是唯一的附加属性 支持,但可以添加更多诸如 backgroundColor和转换。

ReactNative的Animated API的工作原理类似,但是每个所需的动画都需要一个state属性。对于复杂的视图,这会很快变得混乱。

here所述:

使用Animated API并处理所有移动(在这种情况下, 很公平)两种模式之间相对 一种复杂的方法是让一个视图移出屏幕,而另一个视图移出屏幕 进来,反之亦然。 (我会解释如何,但这篇文章不是 关于动画)。

使用LayoutAnimation API本质上配置更改方式 布局要处理。

LayoutAnimation处理每次重新渲染屏幕(或其一部分)时处理布局更改的方式。这意味着每次您在代码中调用setState并导致视图更改位置时,LayoutAnimation可以用于动画化视图移动到新位置的方式。例如,在“登录/注销”场景中,我有一个简单的功能,可以切换一个标志来决定是否显示登录视图。

相关问题