TapGestureHandler не вызывает onHandlerStateChange - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть onHandlerStateChange событие в TapGestureHandler.Когда срабатывает onHandlerStateChange, я хочу изменить непрозрачность кнопки внутри TapGestureHandler.

<View style={{ height: height / 3, justifyContent: 'center' }}>
  <TapGestureHandler onHandlerStateChange={ this.onStateChange }>
    <Animated.View 
        style={{ ...styles.button, opacity: this.buttonOpacity }}>
      <Text style= {{ fontSize:16, fontWeight: 'bold' }}>GET STARTED</Text>
    </Animated.View>
  </TapGestureHandler>        
</View>

А внутри this.onStateChange у меня есть следующие коды для изменения непрозрачности.

constructor(props) {
    super(props);
    this.state={
    }
    this.buttonOpacity = new Value(1)
    this.onStateChange = event([{
      nativeEvent: ({ state }) => 
      block([
        cond( eq(state, State.END), set(this.buttonOpacity, 0) )
      ])
    }])
  }

Я использую эмулятор Android Studio и пытаюсь запустить приложение Android, используя react-native run-android, а также импортировал

import Animated from 'react-native-reanimated'
import {TapGestureHandler, State} from 'react-native-gesture-handler'

Я новичок в реакции нативного программирования.

1 Ответ

1 голос
/ 20 сентября 2019

Исправить (пожалуйста, следуйте инструкциям)

Обновите MainActivity.java следующим кодом

// Не забудьте импортировать

import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;

// Добавить следующееметод к вашему основному виду деятельности

  protected ReactActivityDelegate createReactActivityDelegate() {
    return new ReactActivityDelegate(this, getMainComponentName()) {
      @Override
      protected ReactRootView createRootView() {
        return new RNGestureHandlerEnabledRootView(MainActivity.this);
      }
    };
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...