disableOpenGesture 隐藏不起作用 导航抽屉本机反应

2024-04-13

我们在应用程序中使用导航抽屉来显示侧面菜单。 在一些屏幕中,一旦用户尝试执行左/右手势,我们就不想显示此导航抽屉。

因此,为此,我们试图隐藏特定的屏幕 - 手势/导航抽屉 - 但它不起作用。 当用户滑动(左/右)时,抽屉仍然打开。


    const AppNavigator = StackNavigator(
      {
        // Drawer: { screen: Drawer },
        Register: {
          screen: Register,
          navigationOptions: ({ navigation }) => ({
            drawerLockMode: "locked-closed",
          })
        },
        TabHome: { screen: TabHome },
        Album: { screen: Album },
        offlineContent: { screen: offlineContent },
        changePassword: { screen: changePassword },
        Player: {screen: Player},
      },
      {
        initialRouteName: "TabHome",
        // header: null
      }
    );

我们都尝试过drawerLockMode:"locked-closed"disableOpenGesture: true但没有任何作用。

注意:我正在使用"react-navigation": "^3.0.9" version

有什么建议可以禁用通过手势打开导航抽屉吗?


你能试试这个代码吗?

const AppNavigator = StackNavigator(
      {
        // Drawer: { screen: Drawer },
        Register: {
          screen: Register
        },
        TabHome: { screen: TabHome },
        Album: { screen: Album },
        offlineContent: { screen: offlineContent },
        changePassword: { screen: changePassword },
        Player: {screen: Player},
      },
      {
        initialRouteName: "TabHome",
        // header: null
      }
    );
AppNavigator.navigationOptions = ({ navigation }) => {
  const navigationOptions = {};
  if (getCurrentRouteName(navigation.state) === 'Register') {
    navigationOptions.drawerLockMode = 'locked-closed';
  }
  return navigationOptions;
};

或者如果您的react-navigation版本是V2,

const Stack = createStackNavigator({
    Register: Register,
},
    {
        drawerLockMode: 'locked-closed'
    }
);

getCurrentRouteName 函数

getCurrentRouteName(navState) {

    if (navState.hasOwnProperty('index')) {
        this.getCurrentRouteName(navState.routes[navState.index])
    } else {
        console.log("Current Route Name:", navState.routeName)
        // can then save this to the state (I used redux)
        store.dispatch(setCurrentRouteName(navState.routeName))
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

disableOpenGesture 隐藏不起作用 导航抽屉本机反应 的相关文章

随机推荐

  • 将整数对象的 ArrayList 转换为 int 数组? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将包含 Integers 的 ArrayList 转换为原始 int 数组 https stackoverflow com questions 718554 how to convert an a
  • 当手机处于静音模式时,在后台应用程序上播放声音

    我已经构建了一个计时器应用程序 我遇到的一个问题是当它处于后台时 如果用户关闭音量 我无法敲响计时器 关闭音量或声音也会使通知静音 这是我在后台敲响计时器的方法 我刚买了一块瓷砖 发现了它即使在静音状态下也可以让您的手机响铃 https s
  • 使用 JavaScript 关闭移动浏览器选项卡

    我需要一个本机应用程序来启动带有某些 URL 的浏览器 将用户带到移动网站 在移动网站内部 必须有一个按钮可以关闭浏览器 或向本机应用程序发送任何信号 以便用户返回到本机应用程序 目前我正在尝试关闭窗口 但我认为这不会在所有移动设备上起作用
  • 类型错误:validate_on_submit() 缺少 1 个必需的位置参数:'self'

    我正在使用Flask 网络开发 http shop oreilly com product 0636920031116 do教程和我已经遇到并且正在遇到几个错误 我的简单网络应用程序正在利用 FlaskForm 并尝试验证信息 但遇到了一些
  • 通过 PHP 将 MySQL 转换为 XML

    我的服务器上有一个 MySQL 数据库 我希望通过 PHP 以 XML 形式返回某个表 我见过各种将 XML 传输到 MySQL 的方法 但并不是一种容易遵循的相反方法 我应该怎样做呢 只需提取数据并手动将其形成 XML 文档 使用 DOM
  • 什么是http请求期间的连接超时

    我找到了关于 连接超时 的两种解释 当客户端在 timeout 秒内未向服务器发送任何字节时 服务器将关闭套接字连接 它似乎与 HTTP 标头有一些关系 Connection keep alive 如果在此期间未建立套接字连接 则客户端将在
  • 按比例填充 UIStackView

    我正在使用 Storyboard 创建一个由 UITableView 和底部的 UIView 组成的布局 我正在使用 UIStackView 并垂直播放它们 我希望 UITableView 占据高度的 80 UIView 页脚 占据 20
  • Haskell - 需要为类型类定义 Vector2 实例

    newtype Vector2 a Vector2 a a deriving Show Eq class VectorSpace v where vZero Num a gt v a vSum Num a gt v a gt v a gt
  • 在maven中配置不同文件类型的编码?

    我用maven 资源插件 http maven apache org plugins maven resources plugin faq html过滤我的 Maven 项目中的一些资源 在我的父项目中 我有
  • 强制 applicationCache 重新加载缓存文件

    我使用 HTML5 applicationCache 来存储页面的许多 Javascript CSS 图像等文件 如果我更新其中一个文件 浏览器永远不会重新加载它 我已经尝试过以下方法 在页面加载时调用 applicationCache u
  • 如何从vue3中的“setup”方法中“发出”事件?

    我知道我可以打电话给emit方法从setup方法 但是有没有办法从任何其他函数发出事件而不传递emit设置方法中的方法 不是中的功能 methods选项 但是一个useXXX功能 setup函数有两个参数 第一个是props 第二个是con
  • Marshal.Sizeof() 返回意外值

    我正在调试第三方编写的 C 代码 该项目是一个旧的 C 项目 由承包商用 C 重写 我无法访问该承包商 我编写了原始的 C 版本 问题在于 C 代码获取表示通过 UDP 连接接收的数据的结构的大小 该结构体定义为 StructLayout
  • 是否可以从 Cucumber 功能文件中传递 Java-Enum 作为参数

    我目前正在将selenium与Java一起使用 并希望实现cucumber以使测试脚本更具可读性 目前在将参数传递给 java 方法时面临问题 其中 Enum 应该作为参数 我还想知道在迁移当前框架之前 cucumber java 是否还有
  • 如何解决Android Phonegap应用程序SyntaxError:解析错误? (黑屏问题)

    我在用着weinre http people apache org pmuellr weinre docs latest 能够对在 Mac OS X 最新版本 上运行的 Android 模拟器上执行的应用程序进行远程调试 上下文 最终必要
  • 将 SelectList“SelectedValue”传递给控制器​​操作方法

    我有一个注册表单 其中显示用户姓名 文本框 电子邮件 文本框 和部门 选择列表 名称和电子邮件已预先填充 我正在使用 Windows 身份验证 Intranet 应用程序 并且我想将 SelectedValue 作为 Int32 从 Dro
  • 如何使用 mysql 从 php 中的表中返回多行

    我决定为我的家人建立一个梦幻足球网站 但我无法从数据库返回多行 我想要的 进行一次 sql 调用并获取整个玩家列表 以便我可以填充一个对象或对象列表 如果整个桌子都可以归还那就太好了 我的目标是简单地向用户显示待选秀的可用球员列表 目前 通
  • 正则表达式 - 贪婪 - 匹配 HTML 标签、内容和属性

    我正在尝试匹配 HTML 源中的特定 span 标签 lang 属性和标签的内部 HTML 用作返回新字符串的函数的参数 我想用被调用函数的结果替换旧的标签 属性和内容 主题大概是这样的 p Some codesnippet p span
  • Javascript - 从数组中弹出一个值,但不在数组末尾

    例如 我有一个名为 pvalue 的数组 每个数字都是单数 没有重复的 1 2 3 15 20 12 14 18 7 8 sizeof 10 例如 我需要弹出值 15 在此之后的 pvalue 应该是 1 2 3 20 12 14 18 7
  • python中可以使用socket连接不同网络上的多台计算机吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在互联网上寻找答案 但到目前为止还没有找到 我对网络非常陌生 所以请接受我对此几乎一无所知 我能够使用套接字在 LAN 网络上的
  • disableOpenGesture 隐藏不起作用 导航抽屉本机反应

    我们在应用程序中使用导航抽屉来显示侧面菜单 在一些屏幕中 一旦用户尝试执行左 右手势 我们就不想显示此导航抽屉 因此 为此 我们试图隐藏特定的屏幕 手势 导航抽屉 但它不起作用 当用户滑动 左 右 时 抽屉仍然打开 const AppNav