reactReact Native01-混合开发

React Native实战系列第九篇 — Touchable系

2017-05-22  本文已影响440人  撩课_叶建华

前言

一、高亮触摸 TouchableHighlight

onHideUnderlay function 方法
当底层被隐藏的时候调用

onShowUnderlay function 方法
当底层显示的时候调用

style
可以设置控件的风格演示,该风格演示可以参考View组件的style

underlayColor
当触摸或者点击控件的时候显示出的颜色

高亮触摸

<p></p>
<p></p>
<p></p>

二、不透明触摸 TouchableOpacity

该组件封装了响应触摸事件;当点击按下的时候,该组件的透明度会降低。
常用属性:

activeOpacity number
设置当用户触摸的时候,组件的透明度

<p></p>
<p></p>
<p></p>

三、常见的触摸事件

<p></p>
<p></p>
<p></p>

四、简单的自定义组件 —— XZHButton

import React, { Component, PropTypes} from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TouchableOpacity
} from 'react-native';


export default class XZHButton extends Component {
    // 对外开放属性
    static propTypes = {
        // 常用的属性
        title: PropTypes.string,
        bgImage:PropTypes.func,
        btnStyle: View.propTypes.style,
        btnInnerTextStyle:Text.propTypes.style,

        // 响应事件
        clickBtn: PropTypes.func
    };
    
    static defaultProps = {
        clickBtn(){},
        bgImage(){}
    };


    constructor(props){
        super(props);

        this.state = {
            selected:this.props.selected
        }
    }
    
    
    render() {
        return (
           <TouchableOpacity
               style={[styles.btnViewStyle, this.props.btnStyle]}
               onPress={()=>this.props.clickBtn()}
           >
               {this.props.bgImage()}
               <Text style={[styles.btnTextStyle, this.props.btnInnerTextStyle]}>{this.props.title}</Text>
           </TouchableOpacity>
        );
    }
}

const styles = StyleSheet.create({
    btnViewStyle:{
        backgroundColor:'blue',
        width:120,
        height:40,
        justifyContent:'center',
        alignItems:'center',
        borderRadius:5
    },

    btnTextStyle:{
        color:'#fff',
        fontSize:16,
        backgroundColor:'transparent'
    }
});

module.exports = XZHButton;
 <XZHButton
      clickBtn={()=>this._replaceToMainPage()}
      btnStyle={styles.btnStyle}
      btnInnerTextStyle={styles.btnInnerTextStyle}
       title="立即体验"
       />

<p></p>
<p></p>
<p></p>
<p></p>

长按图片-->识别图中二维码

近期正在把公众账号的文章转移到简书,如果要了解第一动态,请关注我的微信公众账号,带你从零到一的进行React Native开发实战,在其他文章中会有对应的code和资料发放!

上一篇 下一篇

猜你喜欢

热点阅读