Ответ 1
Я нашел решение. React Navigation зависит от библиотеки react-native-gesture-handler
. В разделе "Установка" документации React Navigation говорится только о создании ссылки с помощью команды react-native link
. Этого достаточно для iOS. Но для Android вам нужно отредактировать файл MainActivity.java
, чтобы библиотека обработчиков жестов могла работать как положено:
import com.facebook.react.ReactActivity;
+ import com.facebook.react.ReactActivityDelegate;
+ import com.facebook.react.ReactRootView;
+ import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "Example";
}
+ @Override
+ protected ReactActivityDelegate createReactActivityDelegate() {
+ return new ReactActivityDelegate(this, getMainComponentName()) {
+ @Override
+ protected ReactRootView createRootView() {
+ return new RNGestureHandlerEnabledRootView(MainActivity.this);
+ }
+ };
+ }
}
Обратитесь к документации: https://kmagiera.github.io/react-native-gesture-handler/docs/getting-started.html
На самом деле, в документации React Navigation нигде не указано, чтобы изменять какие-либо файлы, поскольку это относится к react-native-gesture-handler
, а не к React Navigation
. Я держу ответ здесь, чтобы он мог помочь другим.
ОБНОВЛЕНИЕ: Последние документы React Navigation решают эту проблему