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
- ToolBarAndroid no representa en ReactNative
- Proyecto de la biblioteca de Android con React Native
- Android reaccionar nativo no pudo obtener lotes puente
- Grueso borde / borde negro alrededor de una aplicación React Native en Android
- Error: <identifier> esperado usando y
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ó!
- React Native - java.lang.RuntimeException: ubicación del SDK no encontrada. Defina la ubicación con sdk.dir en local.properties
- ¿Cuál es la forma correcta de agregar una sola vista React Native a una aplicación Android existente?
- ¿Cuál es el equivalente de ActionSheetIOS en Android?
- "Reaccionar-nativo run-android" - BUILD es SUCCESSFUL pero obtener error tipo 3 Error: clase de actividad MainActivity no existe
- Cómo deshabilitar la escala de fuentes en RN para Android?
- Problema de comando run-android de React-Native
- "UnderlineColorAndroid no es una propiedad de estilo válida" error en la aplicación android de reaccionar-nativa
- ScrollView: ¿Cómo reproducir snapToInterval y snapToAlignment para Android?
¿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, },
- cómo insertar la imagen en un editText
- Cómo obtener datos de EditText creado dinámicamente con LayoutInflater en android?