UNPKG

corporisquod

Version:

A tab bar that switches between scenes, written in JS for cross-platform support

102 lines (91 loc) 2.36 kB
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View } from 'react-native'; import TabNavigator from 'react-native-tab-navigator'; import Icon from 'react-native-vector-icons/FontAwesome' import {Dimensions} from 'react-native' const deviceW = Dimensions.get('window').width const basePx = 375 function px2dp(px) { return px * deviceW / basePx } 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 TabDemo extends Component { state= { selectedTab: 'home' }; render() { return ( <TabNavigator style={styles.container}> <TabNavigator.Item selected={this.state.selectedTab === 'home'} title="Home" selectedTitleStyle={{color: "#3496f0"}} renderIcon={() => <Icon name="home" size={px2dp(22)} color="#666"/>} renderSelectedIcon={() => <Icon name="home" size={px2dp(22)} color="#3496f0"/>} badgeText="1" onPress={() => this.setState({selectedTab: 'home'})}> <Home/> </TabNavigator.Item> <TabNavigator.Item selected={this.state.selectedTab === 'profile'} title="Profile" selectedTitleStyle={{color: "#3496f0"}} renderIcon={() => <Icon name="user" size={px2dp(22)} color="#666"/>} renderSelectedIcon={() => <Icon name="user" size={px2dp(22)} color="#3496f0"/>} 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, }, }); AppRegistry.registerComponent('TabDemo', () => TabDemo);