react-native-router-flux 下部導航

github url:https://github.com/aksonov/react-native-router-fluxreact

API: https://github.com/aksonov/react-native-router-flux/blob/master/docs/API_CONFIGURATION.mdgit

react-native-router-flux使用示例:github

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
'use strict';
import {
    AppRegistry,
    View,
    Text,
    StyleSheet,
    Image,
} from "react-native";
import React, { Component } from "react";
import {
  Navigation,
  Scene,
  Router
} from 'react-native-router-flux';
import Index from './page/index';
import Me from './page/me';
import Info from './page/info';
import Type from './page/type';
import Car from './page/shopCar';
import Register from './page/register';
import Userinfo from './page/userinfo';
import Icon from 'react-native-vector-icons/FontAwesome';
class TabBar extends Component{
  constructor(props){
    super(props);
    this.data={
      index:{
        title:"首頁",
        icon:"home",
      },
      type:{
        title:"分類",
        icon:"th-large",
      },
      car:{
        title:"購物車",
        icon:"shopping-cart",
      },
      me:{
        title:"個人",
        icon:"user",
      }
    }
  }
  render(){
    let param=this.data[this.props.sceneKey];
    let activeStyle=this.props.selected?{color:"#3399FF"}:{};
    return <View>
      <Icon name={param.icon} color={activeStyle.color} size={25}/>
      <Text style={[activeStyle,styles.tabbarItem]}>{param.title}</Text>
    </View>
  }
}
class App extends Component {
    constructor(props){
      super(props);
    }
    render() {
      const iconSize=30;
      return (
        <Router>
      {/*下部導航開始*/} <Scene key="tabbar" name="tabbar" duration={0} tabs={true} style={styles.tabbarContainer} initial={true}> <Scene key="index" duration={0} component={Index} title="首頁" icon={TabBar} /> <Scene key="type" duration={0} component={Type} title="分類" icon={TabBar} /> <Scene key="car" duration={0} component={Car} title="購物車" icon={TabBar} /> <Scene key="me" duration={0} component={Me} hideNavBar={true} title="個人" icon={TabBar} /> </Scene>
      {/*下部導航結束*/} <Scene key="info" duration={0} hideNavBar={true} component={Info} title="詳情"></Scene> <Scene key="register" duration={0} hideNavBar={true} component={Register} title="註冊"></Scene> <Scene key="userinfo" duration={0} component={Userinfo} title="用戶詳情"></Scene> </Router> ) } } var styles=StyleSheet.create({ tabbarContainer:{ flex:1, backgroundColor:"#f6f6f6", }, tabbarItem:{ alignItems:"center", justifyContent:"center", textAlign:"center", marginLeft:-3 } }) AppRegistry.registerComponent('reactApp', () => App);
相關文章
相關標籤/搜索