React Native Animated 如何实现 ReLU (y = 0 for negative x, y = x for positive x)

React Native Animated how to implement ReLU (y = 0 for negative x, y = x for positive x)

我正在尝试根据滚动视图的滚动偏移动画值在 React Native 上绑定一个(原生)动画。我主要想实现的是ReLU函数,即:

f(x) = 0 if x < 0
f(x) = x if x >= 0

我试过 Animated.multiply 得到正方形并再次除以自己得到符号,但这似乎也不起作用。

如何使用声明性 Animated API(因此没有 conditionals/ifs 或任何命令式代码)绑定到某些动画 属性?

我已经使用 clamping/interpolation 解决了这个问题。基本上我已经将 input/output 范围设置为一个大的负数为零,并且我已经将外推设置为钳位:

const ty = this.props.boundOffset.interpolate({
    inputRange: [-1000,0],
    outputRange: [-1000, 0],
    extrapolate: 'clamp',

})

效果很好。