1

在 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>
4

0 回答 0