所以我有一些问题想出我认为是一个简单的动画......
https://snack.expo.io/H1ssxISrf
基本上,如果您将topBarOpacity
从interpolate
替换为1
,您应该会看到顶部的实际条形图...我只想要显示小背景视图(淡入/淡出)取决于滚动位置。)
虽然我可以在滚动时看到Animated.Event
触发器,但我无法按预期运行不透明度。
请告知
答案 0 :(得分:1)
我不是百分之百确定你追求的是什么,但这确实达到了目标:https://snack.expo.io/@zvona/interpolating-opacity
想法是取偏移然后将其设置为状态,然后访问不透明度控制:
onScroll={({ nativeEvent }) => {
this.setState({
scrollY: new Animated.Value(nativeEvent.contentOffset.y)
}, this.changeOpacity);
}}
代码中存在“bug”,因为我还将不透明度作为状态属性移动,现在它每次滚动都会触发渲染两次(导致perf出现问题)。但也许你有能量 - 希望解决原始问题后 - 优化你的代码?