【问题标题】:React Native Animated interpolate opacity based on multiple values基于多个值的 React Native Animated 插值不透明度
【发布时间】:2025-07-31 02:40:02
【问题描述】:

我有一个 React Native Animated.view 组件,我想根据滚动视图的位置对其不透明度进行插值。但是,我想使用两个值(x 和 y)而不是一个值来插入不透明度。

      <Animated.View
        style={[
          {
            opacity: this.state.scrollX.interpolate({
              inputRange: [0, 414, 828],
              outputRange: [0, 1, 1]
            })
          },
          {
            opacity: this.state.scrollY.interpolate({
              inputRange: [-168, -167, -166, -85, -84],
              outputRange: [1, 1, 1, 0, 0]
            })
          }
        ]}
      >
        <Text>Content....</Text>
      </Animated.View>

这当然行不通,因为一个不透明度值会覆盖另一个,但它清楚地表明了我想要实现的目标。

【问题讨论】:

    标签: css animation react-native react-animated


    【解决方案1】:

    您可以使用Animated.add()

    <Animated.View
      style={[
        {
          opacity: Animated.add(scrollX, scrollY).interpolate({
            inputRange: [],
            outputRange: []
          })
        },
      ]}
    >
    

    【讨论】:

    • 有没有办法添加像 '14deg' 和 '23deg' 这样的字符串值?