首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在React Native应用程序中加载片段

在React Native应用程序中加载片段
EN

Stack Overflow用户
提问于 2018-02-01 23:13:03
回答 1查看 2.1K关注 0票数 2

我正在开发我的Android库和ReactNative之间的桥梁,以便能够在混合应用程序上使用我的库。

我首先用react-native init创建了一个基本的应用,它有默认的Android和iOS文件夹

然后,我用gradle导入了我的库,并创建了扩展ReactContextBaseJavaModuleReactPackage的文件,以确保App.js可以看到并调用我的库中的方法,但现在我遇到了一个问题。

我从React Native向我的安卓库调用的这些方法中,有一个方法返回了我需要显示的Fragment,但我不确定该怎么做。

到目前为止,我已经能够在android文件夹下的React Native项目中的MainActivity.java中编写java代码来以这种方式处理它

代码语言:javascript
运行
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   fragment = MyLibrary.getFragmentMethod();
   getFragmentManager().beginTransaction().add(fragment, TAG).commit();
}

相反,我想做的更像是:

代码语言:javascript
运行
复制
getFragmentManager().beginTransaction().replace(R.id.frame_layout_id, fragment, TAG).commit();

但是我不知道如何定义我的React Native应用程序将使用哪个布局

附注:我试图在onCreate方法中添加setContentView(R.layout.main)行,但这样做的结果是App.js不再可见(可能是因为覆盖了ReactNative的“布局”

EN

Stack Overflow用户

回答已采纳

发布于 2018-02-02 08:18:44

您可以将自己的容器添加到现有布局中。例如:

代码语言:javascript
运行
复制
window.decorView.findViewById<ViewGroup>(android.R.id.content)
            .addView(
                    FrameLayout(this).apply {
                        id = R.id.fragment_container
                        layoutParams = FrameLayout.LayoutParams(
                                FrameLayout.LayoutParams.MATCH_PARENT,
                                FrameLayout.LayoutParams.MATCH_PARENT
                        )
                    }
            )

现在您可以将您的片段添加到此容器中。此外,这个库可能会有帮助- https://github.com/hudl/react-native-android-fragment

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48566027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档