当前位置: 首页 > 知识库问答 >
问题:

将项目添加到Android React Native Developer菜单

姜明贤
2023-03-14

在React Native中,进行开发构建时,您可以摇动设备或使用菜单按钮打开开发人员菜单。如何将其他自定义项添加到此菜单?我还没有找到任何关于添加另一项的文档,但我认为从“开发”菜单中选择“在服务器环境(开发、产品等)之间切换”会非常方便,而不是针对每个环境进行单独的构建测试。

共有2个答案

牟波
2023-03-14

DevSupportManager类可以为您完成这项工作。您可以通过其ReactInstanceManager从您的ReactNativeHost实例获取它:

ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();

有了它,添加一个自定义开发选项,如下所示:

devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
    @Override
    public void onOptionSelected() {
        Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
    }
});

你从哪里获得你的ReactNativeHost实例首先取决于你是如何构建你的应用程序的。如果您使用react native init创建应用程序,那么您的主要应用程序类将包括:

@Override
public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
}

...你可以打电话。

我这里有一个完整的样品;看看主要活动。OnCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MainApplication application = (MainApplication) getApplication();
    ReactNativeHost reactNativeHost = application.getReactNativeHost();
    ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
    DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();
    devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
        @Override
        public void onOptionSelected() {
            Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
        }
    });
}
骆照
2023-03-14

您可以使用DevSettingsaddMenuItem函数在React Native developer菜单中添加

在你的mainApp.js组件中,写

import { DevSettings } from 'react-native';

//...

useEffect(() => {
    // componentDidMount

    // Add our toggle command to the menu
    DevSettings.addMenuItem('Toggle Storybook', () => {
        // Perform your logic here
    });
}, []);
 类似资料:
  • 我有一个android webview默认文本选择的问题。我想做的是添加一个项目到默认菜单,它出现在webview的文本选择上 我想要的功能是添加一个按钮到左侧的全选。如何做到这一点

  • 问题内容: 当您长按Android中的某个按钮时,将显示一个上下文菜单。我想为该系统中的所有菜单添加一些内容。 例如,系统使用“复制和粘贴”来执行此操作。我想添加自己的文件,并将其显示在每个应用程序中。 问题答案: 当前,Android不支持此功能,如果没有特定活动实现您公开的意图或活动,则无法在系统级别全局覆盖或挂钩功能。即使在发布意图的情况下,除非运行的应用程序是使用者也没关系……所有基本系统

  • 这是我有生以来第一次为IDEA开发插件。已经几乎完全实现了所有功能。现在需要向文件中添加一项-

  • 问题内容: 这是我第一次接触android。我正在尝试向我的ListView添加项目。我使用“选项卡”,查看添加项目的唯一方法是更改​​选项卡,然后返回到第一个选项卡。 我到处搜寻,而且一直都找到 但对我不起作用。 正如我所说,我已经使用固定标签+滑动创建了项目。我只希望有一个列表视图,哪些行具有一个EditText,一个Spinner和一个Button。在用于选项卡的Fragment的底部,我有

  • 本文向大家介绍将Bootstrap添加到React.js项目,包括了将Bootstrap添加到React.js项目的使用技巧和注意事项,需要的朋友参考一下 有多种方法可以在react项目中添加引导程序。 使用引导CDN 安装引导程序依赖项 使用React Bootstrap软件包 使用引导CDN 这是添加引导程序的最简单方法。与其他CDN一样,我们可以在react项目的index.html中添加引

  • 问题内容: 我将此组合框添加到面板中。如果直接在数据库中添加一些项目,则希望那些新添加的项目显示在组合框中。 我可以在调试时看到这些值,但是这些值不会出现在我的组合框中。 如何在不关闭面板的情况下将那些新添加的值放入组合框? 问题答案: 如何使用ComboBoxModel?像这样…