您的位置:首页 > Web前端 > React

Android Fragment Activity View中集成React Native页面

2017-07-03 17:05 344 查看
原文地址:http://blog.csdn.net/chichengjunma/article/details/53080606

1.Activity

[java] view
plain copy

private ReactRootView mReactRootView;  

private ReactInstanceManager mReactInstanceManager;  

  

protected void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);  

    mReactRootView = new ReactRootView(this);  

    mReactInstanceManager = ReactInstanceManager.builder()  

            .setApplication(getApplication())  

            .setBundleAssetName("index.android.bundle")  

            .setJSMainModuleName("index.android")  

            .addPackage(new MainReactPackage())  

            .setUseDeveloperSupport(BuildConfig.DEBUG)  

            .setInitialLifecycleState(LifecycleState.RESUMED)  

            .build();  

    mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);  

    setContentView(mReactRootView);  

}  

2.Fragment

[java] view
plain copy

private ReactRootView mReactRootView;  

private ReactInstanceManager mReactInstanceManager;  

  

@Override  

public View onCreateView(LayoutInflater inflater, ViewGroup container,  

                         Bundle savedInstanceState) {  

        mReactRootView = new ReactRootView(mContext);  

        mReactInstanceManager = ReactInstanceManager.builder()  

                .setApplication(getActivity().getApplication())  

                .setBundleAssetName("index.android.bundle")  

                .setJSMainModuleName("index.android")  

                .addPackage(new MainReactPackage())  

                .setUseDeveloperSupport(BuildConfig.DEBUG)  

                .setInitialLifecycleState(LifecycleState.RESUMED)  

                .build();  

        mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);  

        return mReactRootView;  

}  

3.View

[java] view
plain copy

myReact= (LinearLayout) findViewById(R.id.myReact);//原生布局中的view   

mReactInstanceManager = ReactInstanceManager.builder()  

                   .setApplication(getActivity().getApplication())  

                   .setBundleAssetName("index.android.bundle")  

                   .setJSMainModuleName("index.android")  

                   .addPackage(new MainReactPackage())  

                   .setUseDeveloperSupport(BuildConfig.DEBUG)  

                   .setInitialLifecycleState(LifecycleState.RESUMED)  

                   .build();  

mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);  

myReact.addView(mReactRootView)  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐