React Native调用Android原生组件,官方文档用ReactImageView,后来参考这个哥们写的非常不错. https://github.com/1008611/RN-Resource-ipk。自己比葫芦画瓢,写了个调用Button的例子。以及响应OnClickListener事件。
  1. 创建 MyButtonManager.java类  
    public class MyButtonManager extends SimpleViewManager
  2. 创建 MyReactPackage.java类  
    public class MyReactPackage implements ReactPackage {
        @Override
        public List createNativeModules(ReactApplicationContext reactContext) {
            return Collections.emptyList();
        }

        @Override
        public Listextends JavaScriptModule>> createJSModules() {
            return Collections.emptyList();
        }

        @Override
        public List createViewManagers(ReactApplicationContext reactContext) {
            return Arrays.asList(
                    new MyButtonManager()
            );
        }
    }
  3. 在MainApplication中添加 new MyReactPackage()
  4. 创建MyButton.js  
import React,{Component, PropTypes } from 'react'; import { requireNativeComponent, View } from 'react-native';
var iface = {   name:'MyButton',   propTypes:{   text:PropTypes.string,   textSize:PropTypes.number,   textColor:PropTypes.number,   testID:PropTypes.string,   accessibilityComponentType:PropTypes.string,   accessibilityLabel:PropTypes.string,   accessibilityLiveRegion:PropTypes.string,   renderToHardwareTextureAndroid:PropTypes.bool,   importantForAccessibility:PropTypes.string,   onLayout:PropTypes.bool,   } };
var MyButtonView=requireNativeComponent('MyButton',iface);
class MyBtnView extends Component{   constructor(){   super();   this._onChange=this._onChange.bind(this);   }   _onChange(event:Event){   if(!this.props.onChangeMessage){   return;   }   if(event.nativeEvent.clickMe===-1){   this.props.onChangeMessage();   return;   }   }   render(){   return   } } MyBtnView.propTypes={   onChangeMessage:React.PropTypes.func, } module.exports =MyBtnView;
5.在index.android.js中 添加
var MyButton = require('./MyButton'); .... _onButtonPress(){   alert("测试点击事件");   this.setState({   text:"干的漂亮!!!!!!!!!!!"   }); }   style={styles.myButton}   text={'哈哈'}   textSize={12}   onChangeMessage={()=>this._onButtonPress()}   /> 样式: var styles = StyleSheet.create({ ...   myButton: {   width: 200,   height: 100,   }, });



over,测试一下

更多相关文章

  1. Android调用系统短信功能发送短信
  2. 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgument
  3. android 启动Activity的四种模式
  4. Android之添加快捷方式(Shortcut)到手机桌面
  5. Android官方培训课程中文版(v0.9.7)
  6. android 线程通信Handler Bundle
  7. gps架构分析
  8. android:configChanges属性总结
  9. Android(安卓)SDK无法更新问题解决

随机推荐

  1. 安卓(android)开发应该怎么学?需要哪些基础
  2. Android应用程序基础知识
  3. Android高手进阶教程(二十五)之---Androi
  4. 【讲座】It's Android(安卓)Time:程序员创
  5. 【I/O 2014】总结:互通互联的 Android(安
  6. 【诚聘】Android图书兼职作者
  7. Android(安卓)打造自己的个性化应用(一):
  8. android调试之adb
  9. android 连接远程数据库
  10. Unity的春天