React Navigation Android端下滑关闭Modal无响应问题求助
下滑关闭Modal无响应的原因分析
未启用Modal展示模式
你把presentation: 'modal'注释掉了,React Navigation的Stack屏幕默认是普通push导航模式,这种模式没有下滑关闭的手势逻辑,只有横向切换手势。必须开启presentation: 'modal',才能激活Modal专属的下滑关闭交互。手势方向配置不匹配
你设置了gestureDirection: 'horizontal',这是给横向切换的普通屏幕用的。要实现下滑关闭Modal,需要将手势方向改为vertical——这是Modal模式下滑关闭对应的手势方向。容器组件拦截手势(低概率)
目前你的CollectiblesInfoScreen只有基础的Box和Text,不会拦截手势,但如果后续给容器添加滚动组件(如ScrollView、FlatList)或自定义触摸事件,可能会和Modal下滑手势冲突,导致手势被拦截。当前代码可先排除该情况。
修复后的配置示例
<Stack.Navigator screenOptions={{ headerShown: false, }} > <Stack.Group screenOptions={{ contentStyle: { marginTop: 120 }, gestureEnabled: true, presentation: 'modal', gestureDirection: 'vertical', }} > <Stack.Screen component={CollectiblesInfoScreen} name={Routes.COLLECTIBLE_INFO_SCREEN} /> </Stack.Group> </Stack.Navigator>
内容的提问来源于stack exchange,提问作者Andon Mitev
相关产品推荐
相关产品推荐

