我一直在这里关注这篇文章,在平面列表的滚动上对标题调整大小进行动画处理(注释列表,在滚动 Y 上,减少标题)。它工作得很好(有时有点慢,但没关系)。
现在我想在调整大小时更改布局配置:当标题变小时从一列传递到两列。但在我看来,要获得高性能的结果非常困难。
我想到了两种方法:
-
在标题上使用onLayout,以侦听调整高度大小,在高度插值的中间,更改样式类。此方法的性能成本很高,因为它每帧都会触发布局侦听器,因此我的应用程序非常有问题。
-
听ScrollY,在ScrollY的中间,换个班级。与前面提到的问题相同,每个帧检查滚动 Y 都会使我的滚动执行非常缓慢。
有没有人在调整大小时更改视图布局作为更好的主意?
谢谢
编辑:这里是OnLayout事件的示例,称为大量时间,导致关闭
动图示例
你应该为此使用onLayout
。
如果您的应用在使用 onLayout 时出现问题,则应调查原因,因为这不是每帧都调用的。
来源: https://facebook.github.io/react-native/docs/view#onlayout
在装载和布局更改时调用