React-Native - reanimated-bottom-sheet - 无法拖动底部 sheet up/down
React-Native - reanimated-bottom-sheet - Unable to drag bottom sheet up/down
我有一个底部 sheet 使用 reanimated-bottom-sheet
包创建如下
<BottomSheet
ref={this.bottomSheetRef}
snapPoints={[0, 270]}
renderContent={() => <TextEditor/>}
renderHeader={() => <View style={{ height: 70, backgroundColor: 'red' }}><Text>HEADER</Text></View>}
enabledBottomClamp={true}
callbackNode={fall}
enabledInnerScrolling={false}
/>
我可以 open/close 底部 sheet 使用 this.bottomSheetRef.current.snapTo(1)
/this.bottomSheetRef.current.snapTo(0)
但是当在 body/header 中向下滑动时 sheet 不会关闭。
您可能没有正确安装 react-native-gesture-handler 库。
更新您的 MainActivity.java 文件(或您创建 ReactActivityDelegate 实例的任何地方),以便它覆盖负责创建 ReactRootView 实例的方法,然后使用此库提供的根视图包装器。不要忘记导入 ReactActivityDelegate、ReactRootView 和 RNGestureHandlerEnabledRootView:
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);
+ }
+ };
+ }
}
我有一个底部 sheet 使用 reanimated-bottom-sheet
包创建如下
<BottomSheet
ref={this.bottomSheetRef}
snapPoints={[0, 270]}
renderContent={() => <TextEditor/>}
renderHeader={() => <View style={{ height: 70, backgroundColor: 'red' }}><Text>HEADER</Text></View>}
enabledBottomClamp={true}
callbackNode={fall}
enabledInnerScrolling={false}
/>
我可以 open/close 底部 sheet 使用 this.bottomSheetRef.current.snapTo(1)
/this.bottomSheetRef.current.snapTo(0)
但是当在 body/header 中向下滑动时 sheet 不会关闭。
您可能没有正确安装 react-native-gesture-handler 库。 更新您的 MainActivity.java 文件(或您创建 ReactActivityDelegate 实例的任何地方),以便它覆盖负责创建 ReactRootView 实例的方法,然后使用此库提供的根视图包装器。不要忘记导入 ReactActivityDelegate、ReactRootView 和 RNGestureHandlerEnabledRootView:
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);
+ }
+ };
+ }
}