React Native Android – Recursos estáticos que no se muestran

Estoy tratando de cargar una imagen como un recurso estático. Aquí hay un ejemplo que me da una pantalla en blanco.

/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; var React = require('react-native'); var { AppRegistry, StyleSheet, Text, Image, View } = React; var impowerz = React.createClass({ displayName : "Login", render: function() { return ( <View style={styles.container}> <Image source={require('image!bg-splash')} style={styles.bg} /> </View> ); } }); var styles = StyleSheet.create({ bg : { height: 667, width: 375 }, container: { flex: 1, }, }); AppRegistry.registerComponent('impowerz', () => impowerz); 

He comprobado en Chrome Debugger y esto es lo que tengo

Chrome Debugger ve mi recurso estático

Editar envolvió la etiqueta de imagen en una vista y agregó una flexión: 1 estilos para el contenedor

Actualización He intentado console.log () la propiedad assetsRoot en react-native / packager / packager.js y volvió como / impowerz / assets / que es donde vive mi imagen. Hice un @ 2x y @ 3x como se sugiere en esta respuesta

Intenté usar .jpg en lugar de .png y probé reemplazar require ('image! Bg_splash') con {uri: 'assets / image / bg_splash.jpg'} (con y sin ext).

Actualización He creado drawable-<qualifier> carpetas como se describe aquí en los documentos , dividido mis imágenes a cada carpeta y normalizado los nombres de archivo como @ kzzzf sugerido. Sin embargo, tengo un error de la unknown module image!bg_splash así que en lugar de usar <yourapp>/android/app/src/main/res/ , pongo mis carpetas <yourapp>/assets/ en <yourapp>/assets/ así y funcionó!

Mi configuración de activos

¿Cómo agregaste "bg-splash" a tu aplicación para Android? Debería ir bajo android/app/src/main/res/drawable (o drawable-hdpi , -xhdp etc si tiene diferentes versiones por DPI). También tenga en cuenta que android sólo acepta nombres de recursos que contienen letras minúsculas y subrayados, por lo que su nombre de imagen no coincide con ese requisito ya que contiene signo de guión.

en reactivo nativo v.0.14 +

  // same syntax for IOS and Android require('./my-icon.png') 

Imagen completa aquí

A partir de la versión 0.14, React Native proporciona una forma unificada de administrar imágenes en sus aplicaciones para iOS y Android. Para agregar una imagen estática a la aplicación, colóquela en algún lugar del árbol de código fuente y haga referencia a ella de la siguiente manera:

  <Image source={require('./my-icon.png')} /> //relative path . ├── button.js └── img ├── [email protected] └── [email protected] 

Tampoco pude conseguir que mis imágenes aparecieran.
Cuando fui a <yourapp>/android/app/src/main/res , sólo mipmap-<qualifier> carpetas mipmap-<qualifier> . Puse por primera vez las imágenes en esas carpetas. No funcionó. Mis habilidades de comprensión de lectura obviamente necesitan mejoras, porque en las instrucciones , claramente dice "drawable". Entonces, cometí el error de pensar que estas carpetas del "mipmap" necesitaron ser cambiadas a las carpetas "drawable" (en el lugar de "mipmap"). Así que si alguien hizo eso, retroceda, y en su lugar, agregue las carpetas drawable-<qualifier> además de las "mipmap". Y luego asegúrate de recompilar la aplicación.

Para que la imagen se muestre en la pantalla, coloque la imagen en una vista:

 return ( <View style={styles.container}> <Image source={require('image!bg-splash')} style={styles.bg} /> </View> ); 

Y agrega estos estilos a la vista

 var styles = StyleSheet.create({ container: { flex: 1, }, 
  • Reaccionar nativo - recarga no hacer nada
  • ¿Por qué Reactive Native .flowconfig ignora los archivos .android.js?
  • Reaccionar-nativo run-android desajuste versión versión del servidor adb
  • Error de compilación en run-android debido a las dependencias
  • Cómo entender el "ReactContext" en "Enviar eventos a Javascript" en React Native
  • Reaccionar-nativo <Picker /> en Android bloquea la aplicación después de hacer
  • Reaccionar-nativo: app: installDebug FALLA
  • ¿Es posible crear un widget de escritorio con react-native?
  • Tipo de error 3. La clase de actividad {com.awesome_project / com.awesome_project.MainActivity} no existe en react native (dispositivo Android)
  • La aplicación de Android se bloquea después de integrar React Native con NoClassDefFoundError: com.facebook.react.bridge.JSPackagerWebSocketClient
  • Reaccionar Nativo 'hola mundo' inicio rápido: "no se pudo conectar con el servidor de desarrollo"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.