React Native垂直滚动插值不起作用

时间:2018-01-24 00:22:30

标签: react-native

所以我有一些问题想出我认为是一个简单的动画......

https://snack.expo.io/H1ssxISrf

基本上,如果您将topBarOpacityinterpolate替换为1,您应该会看到顶部的实际条形图...我只想要显示小背景视图(淡入/淡出)取决于滚动位置。)

虽然我可以在滚动时看到Animated.Event触发器,但我无法按预期运行不透明度。

请告知

1 个答案:

答案 0 :(得分:1)

我不是百分之百确定你追求的是什么,但这确实达到了目标:https://snack.expo.io/@zvona/interpolating-opacity

想法是取偏移然后将其设置为状态,然后访问不透明度控制:

onScroll={({ nativeEvent }) => {
  this.setState({
    scrollY: new Animated.Value(nativeEvent.contentOffset.y)
  }, this.changeOpacity);
}}

代码中存在“bug”,因为我还将不透明度作为状态属性移动,现在它每次滚动都会触发渲染两次(导致perf出现问题)。但也许你有能量 - 希望解决原始问题后 - 优化你的代码?