TabNavigator自定义Tab(2)

实现如下效果


react-navigation凸起效果.png

其实这种效果很简单只要实现自定义tab然后将需要凸起的Tab单独拿出来设置成绝对布局就可以实现了。
关键代码:

    render(){
        const {navigation,jumpToIndex} = this.props;
        const {routes,} = navigation.state;
        const focused = 1 === navigation.state.index;
        const color = focused ? this.props.activeTintColor : this.props.inactiveTintColor;
        let TabScene = {
            focused:focused,
            route:routes[1],
            tintColor:color
        };
        return (
        <View style={{width:WIDTH}}>
            <View style={styles.tab}>
                {routes && routes.map((route,index) => this.renderItem(route, index))}
            </View>
          //需要凸起的tab 设置绝对布局
            <TouchableOpacity
            key={"centerView"}
            style={[styles.tabItem,{position:'absolute',bottom:0,left:(WIDTH-SCALE(100))/2,right:WIDTH-SCALE(100),height:SCALE(120)}]}
            onPress={() => jumpToIndex(1)}
        >
            <View
                style={styles.tabItem}>
                {this.props.renderIcon(TabScene)}
                <Text style={{ ...styles.tabText,marginTop:SCALE(10),color }}>{this.props.getLabel(TabScene)}</Text>
            </View>
        </TouchableOpacity>
        </View>
        );
    }

完整代码:
https://github.com/wuyunqiang/RNApp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock阅读 8,692评论 2 36
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,267评论 19 139
  • 今天去参加了同事儿子的婚礼! 十年前,我调入这所学校时,这孩子正在准备冲刺中考,转眼,十年就过去了,曾...
    春日迟迟_阅读 1,733评论 0 0
  • 刚刚跟魏春英老师学了一招,在手机上也可以写文章,今天晚上就抽空跟我的学生说说心里话吧! 我最先想到的就是你,王贺康...
    小黄杨阅读 3,480评论 3 6
  • 正在回家的火车上。 今天上午,接到父亲打来的电话,爷爷,走了。今年爷爷97岁,他的生命终结在今天。我没敢跟爸爸说,...
    中微子同学阅读 2,844评论 3 0

友情链接更多精彩内容