Android Fragment Activity View中集成React Native页面

来源:互联网 发布:软件技术职称 编辑:程序博客网 时间:2024/05/18 02:04

原文地址:http://blog.csdn.net/chichengjunma/article/details/53080606


1.Activity

[java] view plain copy
  1. private ReactRootView mReactRootView;  
  2. private ReactInstanceManager mReactInstanceManager;  
  3.   
  4. protected void onCreate(Bundle savedInstanceState) {  
  5.     super.onCreate(savedInstanceState);  
  6.     mReactRootView = new ReactRootView(this);  
  7.     mReactInstanceManager = ReactInstanceManager.builder()  
  8.             .setApplication(getApplication())  
  9.             .setBundleAssetName("index.android.bundle")  
  10.             .setJSMainModuleName("index.android")  
  11.             .addPackage(new MainReactPackage())  
  12.             .setUseDeveloperSupport(BuildConfig.DEBUG)  
  13.             .setInitialLifecycleState(LifecycleState.RESUMED)  
  14.             .build();  
  15.     mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject"null);  
  16.     setContentView(mReactRootView);  
  17. }  

2.Fragment

[java] view plain copy
  1. private ReactRootView mReactRootView;  
  2. private ReactInstanceManager mReactInstanceManager;  
  3.   
  4. @Override  
  5. public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  6.                          Bundle savedInstanceState) {  
  7.         mReactRootView = new ReactRootView(mContext);  
  8.         mReactInstanceManager = ReactInstanceManager.builder()  
  9.                 .setApplication(getActivity().getApplication())  
  10.                 .setBundleAssetName("index.android.bundle")  
  11.                 .setJSMainModuleName("index.android")  
  12.                 .addPackage(new MainReactPackage())  
  13.                 .setUseDeveloperSupport(BuildConfig.DEBUG)  
  14.                 .setInitialLifecycleState(LifecycleState.RESUMED)  
  15.                 .build();  
  16.         mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject"null);  
  17.         return mReactRootView;  
  18. }  

3.View

[java] view plain copy
  1. myReact= (LinearLayout) findViewById(R.id.myReact);//原生布局中的view   
  2. mReactInstanceManager = ReactInstanceManager.builder()  
  3.                    .setApplication(getActivity().getApplication())  
  4.                    .setBundleAssetName("index.android.bundle")  
  5.                    .setJSMainModuleName("index.android")  
  6.                    .addPackage(new MainReactPackage())  
  7.                    .setUseDeveloperSupport(BuildConfig.DEBUG)  
  8.                    .setInitialLifecycleState(LifecycleState.RESUMED)  
  9.                    .build();  
  10. mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject"null);  
  11. myReact.addView(mReactRootView)  

原创粉丝点击