配置Tab欄react
配置Tab欄的圖標android
注意:使用圖標,須要接收 license;git
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { Component } from 'react'; import { StyleSheet, Text, View } from 'react-native'; // 導入 Tabbar 相關的組件 import TabNavigator from 'react-native-tab-navigator' // 導入 Tab 欄的組件 import Home from './components/tabbars/Home.js' import Search from './components/tabbars/Search.js' import ShopCar from './components/tabbars/ShopCar.js' import Me from './components/tabbars/Me.js' // 當修改了 項目根目錄中,Android 目錄下的任何文件以後,若是想要看項目效果,不要使用 react-native start了,而是須要再一次編譯安裝一下項目 ,運行 react-native run-android // 導入圖標相關的組件 import Icon from 'react-native-vector-icons/FontAwesome' export default class App extends Component { constructor(props) { super(props) this.state = { selectedTab: 'home' // 選中的tab欄名稱 } } render() { return ( <View style={styles.container}> {/* Tab欄區域 */} <TabNavigator> {/* 主頁的 Tab欄 */} <TabNavigator.Item selected={this.state.selectedTab === 'home'} // 判斷當前的 tab欄是否被選中的 title="主頁" // 表示 tabbar 上展現的內容 renderIcon={() => <Icon name="home" size={25} color="gray" />} // 未選中狀態下,展現的圖標 renderSelectedIcon={() => <Icon name="home" size={25} color="#0079FF" />} // 選中狀態下展現的圖標 onPress={() => this.setState({ selectedTab: 'home' })} // 點擊Tab欄的操做 > <Home></Home> </TabNavigator.Item> {/* 搜索的 Tab欄 */} <TabNavigator.Item selected={this.state.selectedTab === 'search'} title="搜索" renderIcon={() => <Icon name="search" size={25} color="gray" />} renderSelectedIcon={() => <Icon name="search" size={25} color="#0079FF" />} onPress={() => this.setState({ selectedTab: 'search' })} > <Search></Search> </TabNavigator.Item> {/* 購物車的 Tab欄 */} <TabNavigator.Item selected={this.state.selectedTab === 'shopcar'} title="購物車" badgeText="0" renderIcon={() => <Icon name="shopping-cart" size={25} color="gray" />} renderSelectedIcon={() => <Icon name="shopping-cart" size={25} color="#0079FF" />} onPress={() => this.setState({ selectedTab: 'shopcar' })} > <ShopCar></ShopCar> </TabNavigator.Item> {/* Me的 Tab欄 */} <TabNavigator.Item selected={this.state.selectedTab === 'me'} title="Me" renderIcon={() => <Icon name="user" size={25} color="red" />} renderSelectedIcon={() => <Icon name="user-o" size={25} color="#0079FF" />} onPress={() => this.setState({ selectedTab: 'me' })} > <Me></Me> </TabNavigator.Item> </TabNavigator> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1 } }); // 不推薦使用 npm 下載包,首先:下載速度慢,其次,若是是 npm 5.x,在裝新包的時候,會把一些老包刪除 // 推薦使用 facebook 開發的 yarn 來安裝包 yarn add 包名