在 react-native 中使用 Animated.ScrollView 滚动时,我需要禁用一个按钮。
我正在尝试应用类似的东西:
disabled={this.state.scrollY._value <= 30 ? false : true}
在 TouchableHighlight 的道具中。
据我所知,无法将值:this.state.scrollY._value 直接应用到 TouchableHighlight 的“禁用”道具中。但是我真的不知道如何进行-.-
我真的很感激任何帮助。
我的按钮采用以下格式:
<Animated.View>
<TouchableHighlight>
<Icon />
</TouchableHighlight>
</Animated.View>
这是完整的代码:
<Animated.View style={{
position: 'absolute',
elevation: 5,
justifyContent: 'center',
flex: 1,
height: 100,
width: 100,
opacity: 1,
left: SCREEN_WIDTH / 2 - SIZE / 2,
top: 120,
opacity: buttonTopDisappearance,
}}>
<TouchableHighlight
onPress={() => {
this.toggleView(playBack);
if (!playBack) {
this.setState({ playBack: true })
} else {
this.setState({ playBack: false })
}
}}
underlayColor="#2882D8"
disabled={this.state.scrollY._value <= 30 ? false : true}
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
width: null,
height: null,
borderRadius: SIZE / 2,
backgroundColor: '#48A2F8',
position: 'relative',
elevation: 6,
}}
>
<IconFontAwesome name="plus" size={24} color="#F8F8F8" />
</TouchableHighlight>
</Animated.View>