ReactNative学习第二天

第二天了,今天学习下UI里最基础的一个控件:TabBar。这里要用到一个第三方库: react-native-tab-navigator。下面我们来写一个例子

 

 一、环境搭建

 这里就不介绍了,ReactNative中文网上有。

 

 二、创建项目

 react-native init TabBarProject --version 0.44.3

 npm install

 react-native run-ios

 

 三、下载 react-native-tab-navigator

 cd 到项目跟目录 执行 npm install react-native-tab-navigator --save

 

 四、修改 index.ios.js


import React, { Component } from 'react';

import {

    AppRegistry,

    StyleSheet,

    Text,

    View

} from 'react-native';

import TabNavigator from 'react-native-tab-navigator';


class Home extends Component {

    render() {

        return (

                <View style={styles.container}>

                <Text style={styles.welcome}>

                Home

                </Text>

                </View>

                )

    }

}


class Profile extends Component {

    render() {

        return (

            <View style={styles.container}>

                <Text style={styles.welcome}>

                    Profile

                </Text>

            </View>

            )

    }

}


export default class TabBarProject extends Component {

    state= {

    selectedTab: 'home'

    };

    render() {

        return (

            <TabNavigator style={styles.container}>

                <TabNavigator.Item

                    selected={this.state.selectedTab === 'home'}

                    title="Home"

                    selectedTitleStyle={{color: "#3496f0"}}

                    renderIcon={() => <Image style={styles.icon} source={require("./images/home.png")} />}

                    renderSelectedIcon={() => <Image style={[styles.icon,{tintColor:'red'}]} source={require("./images/home.png")} />}

                    badgeText="1"

                    onPress={() => this.setState({selectedTab: 'home'})}>

                    <Home/>

                </TabNavigator.Item>

                <TabNavigator.Item

                    selected={this.state.selectedTab === 'profile'}

                    title="Profile"

                    selectedTitleStyle={{color: "#3496f0"}}

                    renderIcon={() => <Image style={styles.icon} source={require("./images/profile.png")} />}

                    renderSelectedIcon={() => <Image style={[styles.icon,{tintColor:'red'}]} source={require("./images/profile.png")} />}

                    onPress={() => this.setState({selectedTab: 'profile'})}>

                    <Profile/>

                </TabNavigator.Item>

            </TabNavigator>

            );

    }

}


const styles = StyleSheet.create({

container: {

    flex: 1,

    justifyContent: 'center',

    alignItems: 'center',

    backgroundColor: '#F5FCFF',

},

welcome: {

    fontSize: 20,

    textAlign: 'center',

    margin: 10,

},

instructions: {

    textAlign: 'center',

    color: '#333333',

    marginBottom: 5,

},

icon: {

    width: 20,

    height: 20

}

});


AppRegistry.registerComponent('TabBarProject', () => TabBarProject);


五、用Xcode打开iOS工程,运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值