React Native滚动视图动画标题:在调整大小时更改布局的高性能方法?

时间:2019-04-22 18:43:40

标签: react-native react-animated

我一直在严格按照这篇文章here设置动画,以使标题调整为flatList滚动的大小(在Scroll Y上,注释列表为reduce header)。效果很好(有时会有点慢,但是还可以)。

现在,我想在调整大小时更改布局设置:当标题变小时,从一列传递到两列。但是在我看来,要取得出色的成绩非常困难。

我考虑了两种方法:

  1. 在标头上使用onLayout来侦听调整大小的高度,在高度插值的中间,更改样式类。这种方法的性能成本很高,因为它每帧都会触发onLayout侦听器,所以我的应用程序有很多bug。

  2. 收听ScrollY,在scrollY的中间,更改类。与前面说的问题相同,每个帧检查滚动Y会使我的滚动执行非常缓慢。

有没有更好的主意在调整大小时更改视图布局?

谢谢

编辑:这里是onlayout事件的一个例子,被称为很多时间,导致关闭

gif example

1 个答案:

答案 0 :(得分:0)

为此,您应该使用onLayout

如果您的应用使用onLayout时出现错误,则应调查原因,因为并非每帧都如此。

来源:https://facebook.github.io/react-native/docs/view#onlayout

  

在更改安装和布局时调用