ToolBarAndroid no representa en ReactNative

Estoy intentando conseguir una barra de herramientas básica de Android para hacerla en mi vista nativa de React y estoy teniendo problemas. Con mi código actual, se ejecuta muy bien (sin errores o nada), pero la barra de herramientas no está allí. ¿Alguna sugerencia sobre lo que estoy haciendo mal? ¡Gracias por adelantado!

'use strict'; const React = require('react-native'); const MaterialKit = require('react-native-material-kit'); const { AppRegistry, DrawerLayoutAndroid, StyleSheet, Text, View, ToolbarAndroid, } = React; const DRAWER_REF = 'drawer'; const OpenLightApp = React.createClass({ render: function() { const navigationView = ( <View style={{flex: 1, backgroundColor: '#88D8EC'}}> <Text style={{margin: 10, fontSize: 15, textAlign: 'left'}}>Drawer Item</Text> </View> ); return ( <DrawerLayoutAndroid drawerWidth={300} ref={DRAWER_REF} drawerPosition={DrawerLayoutAndroid.positions.Left} renderNavigationView={() => navigationView}> <View style={styles.container}> <ToolbarAndroid navIcon={require('image!hamburger')} title="OpenLight" titleColor="black" style={styles.toolbar} onIconClicked={() => this.refs[DRAWER_REF].openDrawer()} /> <Text style={styles.welcome}> Example Text </Text> <Text style={styles.instructions}> To get started, edit index.android.js </Text> <Text style={styles.instructions}> Shake or press menu button for dev menu </Text> </View> </DrawerLayoutAndroid> ); } }); 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, }, toolbar: { backgroundColor: '#00a2ed', height: 56, }, }); AppRegistry.registerComponent('OpenLightApp', () => OpenLightApp); 

Según este problema , la clave parece estar estableciendo un estilo en la barra de herramientas que tiene una altura. Si no se establece ninguna altura, no se renderizará. Esperemos que se resuelva pronto.

Aquí está la combinación de cosas que trabajaron para mí:

1) https://github.com/facebook/react-native/issues/2957#event-417214498

"Debe establecer alignItems para estirar (que es también el valor por defecto) en su contenedor, o dar a su barra de herramientas un ancho explícito.Con alignItems conjunto al centro y sin anchura explícita, la barra de herramientas se da 0 ancho implícito.

2) Ajuste de la altura en la barra de herramientas

El código:

He descargado un ic_arrow_back_black_24dp.png, y lo he colocado en la misma carpeta que el archivo index.android.js

Luego, en index.android.js,

 class MyComponent extends Component { ... render() { return ( <View style={styles.containerToolbar}> <ToolbarAndroid style={styles.toolbar} title={this.props.title} //navIcon={require('image!ic_arrow_back_white_24dp')} navIcon={require('./ic_arrow_back_black_24dp.png')} onIconClicked={this.props.navigator.pop} //titleColor={'#FFFFFF'}/> titleColor={'#000000'}/> </View> } const styles = StyleSheet.create({ containerToolbar: { flex: 1, //justifyContent: 'center', justifyContent: 'flex-start', // https://github.com/facebook/react-native/issues/2957#event-417214498 alignItems: 'stretch', backgroundColor: '#F5FCFF', }, toolbar: { backgroundColor: '#e9eaed', height: 56, }, }); 

Debe asignar tanto la altura como el ancho a la barra de herramientas de lo contrario no renderizará.

El código de tu barra de herramientas debería tener este aspecto

  <ToolbarAndroid style={styles.toolbar} title="Movies" navIcon={require("../../ic_launcher.png")} onActionSelected={this.onActionSelected} titleColor= "000" actions = {[ {title: "Log out", show: "never"} ]} /> 

Acción seleccionada

  onActionSelected(position) { } 

Estilo de la barra de herramientas

  toolbar: { backgroundColor: '#2196F3', height: 56, alignSelf: 'stretch', textAlign: 'center', }, 

Resultado

Introduzca aquí la descripción de la imagen

  • Servicio de fondo en el reactivo-androide nativo
  • ¿Reactivo-Nativo innecesarios permisos de usuario de Android añadido automáticamente en la compilación?
  • ¿Cómo puedo deshabilitar el retroceso en el navegador nativo de la reacción
  • React-native run-android falla en: app: processDebugResources
  • React Native - Aplicación de Android que funciona en Debug, falla en la versión
  • React Native Android Fetch falla en la conexión a la API local
  • Utilizando RxJava para la validación de inicio de sesión de correo electrónico, un observable está emitiendo dos veces
  • ¿Cómo cargar reacciona el paquete JS nativo de la red en Android?
  • No se puede reconocer el servidor JS
  • Error: <identifier> esperado usando y
  • Android reaccionar nativo no pudo obtener lotes puente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.