react native 自定义head title组件

import Entypo from 'react-native-vector-icons/Entypo'; import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons'; import React, { PureComponent } from 'react'; import { AppRegistry, StyleSheet, Text, View, Image, TouchableOpacity, Platform, Switch, DeviceEventEmitter } from 'react-native';

export default class Title extends PureComponent { constructor() { super();

    this.state = {
        leftVisible: 'hidden',
        rigitVisible: 'hidden',

    };
}



render = () => {


    console.log(this)

    let leftView = this.props.leftVisibility == 'hidden' ?
        <View style={{ padding: 8, flex: 1, }} /> : <TouchableOpacity style={{ flex: 1, }}
            onPress={() => {
               this.props.leftCallBack? this.props.leftCallBack():null
            }}
        >
            <Entypo name='chevron-thin-left' size={21} color='#fff'  style={{marginLeft:10}}/>
        </TouchableOpacity>

    let rightView = this.props.rightVisibility == 'hidden' ?
        <View style={{ padding: 8, flex: 1, }} /> : <TouchableOpacity style={{ flex: 1, alignItems:'flex-end'}}
            onPress={() => {
                this.props.rightCallBack?this.props.rightCallBack():null
            }}
        >
            <SimpleLineIcons name='share-alt' size={21} color='#fff' style={{marginRight:10}}/>
        </TouchableOpacity>



    return (

        <View style={styles.footerContainer} >
            {leftView}
            <Text style={{ fontSize: 24, color: 'white' }}>{this.props.name ? this.props.name : 'Delphy'}</Text>
            {rightView}
        </View>


    );
}

}

const styles = StyleSheet.create({ footerContainer: {

    flexDirection: 'row',
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#45506e',
    height: 50
},

});

使用:

back = () => { this.props.navigation.dispatch(NavigationActions.back()); }

share = () => {
    toastShort('share')
}

render() { return ( <View> <Title leftVisibility={'visible'} rightVisibility={'visible'} name={'详情'} leftCallBack={ this.back.bind(this) } rightCallBack={ this.share.bind(this) } /> <View> ) }

转载于:https://my.oschina.net/u/3150996/blog/1573497

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值