You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:25:16