菜单栏是个 Animated.View , 他的高度会随着列表的onScroll时间滑动重置 (这个很共识)
但是 你要把 view 的高度 放到state中,跟着onScroll 改变,这样的滑动效果会有卡顿感。
这里onScroll里的方法要这样写:
Animated.event(
[{ nativeEvent: { contentOffset: { y: this.state.scrollY } } }],
{
listener: () => {
}
}
)(e);
对就是这个 不是直接在onScroll 里 setState
animated.view 写法 :
<Animated.View
style={{
height: this.state.scrollY.interpolate({
inputRange: [-0.05, 0, 316, 316.05],
outputRange: [152, 152, 0, 0]
}),
}}>
如果要求,菜单栏要与scrollview 同步滚动:
animated.view 里面包裹一个绝对布局的view 即可
React Native滚动菜单栏优化
本文介绍如何在React Native中优化菜单栏随ScrollView滚动的效果,避免卡顿,并实现菜单栏与ScrollView的同步滚动。
1万+

被折叠的 条评论
为什么被折叠?



