导航栏 - React Native

时间:2016-12-18 07:24:58

标签: react-native navigationbar react-native-android

我正在使用React Native创建一个移动应用程序,我决定使用来自网站“https://github.com/beefe/react-native-navigation-bar”的导航栏,但我不知道如何在我的代码中使用它。

我希望您向我发送网站“https://github.com/beefe/react-native-navigation-bar”导航栏的示例。

2 个答案:

答案 0 :(得分:3)

我认为在询问之前你应该仔细阅读。

此网站清楚地显示了如何使用此组件。只需两步:

  1. 安装包。

    npm install react-native-navigation-bar --save
    
  2. 导入和使用。按照您喜欢的方式更改属性。

    import React, { Component } from 'react';
    import { Text, View } from 'react-native';
    
    import NavigationBar from 'react-native-navigation-bar';
    
    export default class Example extends Component {
      render() {
        return (
          <View>
            <NavigationBar 
              title='Main title'
              height={50}
              leftButtonTitle='back'
              rightButtonTitle='forward'
            />
            <Text>ABC</Text>
          </View>
        );
      }
    }
    

答案 1 :(得分:2)

我认为您应该使用一个插件:navigationbar-react-native

首先,如果您使用react-navigation,则应隐藏标题栏并使用自定义标题栏

export const RootStack = createStackNavigator(
  {
    App: {
      screen: AppComponent,
      navigationOptions: {
        header: null,
      },
    },
  },
  {
    initialRouteName: 'App',
  }
);

1,安装软件包

npm i navigationbar-react-native --save

2,使用

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,Image,
  View, 
  TouchableOpacity,
} from 'react-native';
import NavigationBar from 'navigationbar-react-native';
 
const ComponentLeft = () => {
  return(
    <View style={{ flex: 1, alignItems: 'flex-start'}} >
       <TouchableOpacity style={ {justifyContent:'center', flexDirection: 'row'}}>
        <Image 
          source={require('./img/ic_back.png')}
          style={{ resizeMode: 'contain', width: 20, height: 20, alignSelf: 'center' }}
        />
        <Text style={{ color: 'white', }}>Back Home</Text>
      </TouchableOpacity>
    </View>
  );
};
 
const ComponentCenter = () => {
  return(
    <View style={{ flex: 1, }}>
       <Image
        source={require('./img/ic_logo.png')}
        style={{resizeMode: 'contain', width: 200, height: 35, alignSelf: 'center' }}
      />
    </View>
  );
};
 
const ComponentRight = () => {
  return(
    <View style={{ flex: 1, alignItems: 'flex-end', }}>
      <TouchableOpacity>
        <Text style={{ color: 'white', }}> Right </Text>
      </TouchableOpacity>
    </View>
  );
};
 
class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <NavigationBar 
          componentLeft     = { () =>  {<ComponentLeft />   }
          componentCenter   = { () =>  {<ComponentCenter /> }
          componentRight    = { () =>  {<ComponentRight />  }
          navigationBarStyle= {{ backgroundColor: ''#215e79'' }}
          statusBarStyle    = {{ barStyle: 'light-content', backgroundColor: '#215e79' }}
        />
      </View>
    );
  }
}

在react native中轻松创建自定义标题栏