2017-07-04 1 views
5

J'essaie d'obtenir une ombre en dessous de mon point de vue, et de ce que je trouve en ligne, il devrait être assez simple:ombre React natif ne figurant pas

shadowOffset: { width: 10, height: 10 }, 
    shadowColor: 'black', 
    shadowOpacity: 1.0, 

mais le problème est que l'ombre est n'apparaissant pas du tout.

Voici mes composants de

 <View style={styles.shadow}> 
     <View style={styles.box} > 
      <View style={styles.ListComponent}> 
      <Text style={styles.itemText}>Livestream</Text> 
      </View> 
     </View> 
     </View> 

et dans ma feuille de style:

const styles = StyleSheet.create({ 
    shadow: { 
    shadowOffset: { width: 10, height: 10 }, 
    shadowColor: 'black', 
    shadowOpacity: 1.0 
}, 

Toute raison ou est-il quelque chose que j'ai manqué?

+0

Le problème est juste le droit d'ombre? pouvez-vous voir votre composant? –

+0

Oui! Seul l'ombre – smuvv

Répondre

15

L'ombre agit-elle sur les E/S? Android et IOS fonctionnent dans React-Native. Pour Android, cela fonctionne avec elevation.

const styles = StyleSheet.create({ 
shadow: { 
    shadowOffset: { width: 10, height: 10 }, 
    shadowColor: 'black', 
    shadowOpacity: 1, 
    elevation: 3, 
    // background color must be set 
    backgroundColor : "#0000" // invisible color 
} 

Sinon, essayez de définir une couleur de fond à votre composant ombre :)

+0

Je ne peux pas tester sur iOS pour le moment, donc je ne suis pas sûr. Malheureusement, l'altitude n'a pas fonctionné non plus. Vous ne savez pas ce que vous voulez dire en ajoutant une couleur d'arrière-plan au composant shadow, est-ce que cela ne ferait que rendre le composant entier de cette couleur, car il enveloppe tous les composants à l'intérieur? – smuvv

+3

[Aucune couleur de fond] (https://www.hostingpics.net/viewer.php?id=677954Capturedecran20170704a165937.png) || [Avec la couleur d'arrière-plan] (https://www.hostingpics.net/viewer.php?id=320071Capturedecran20170704a170010.png) Vous devez définir un backgroundColor pour activer l'élévation. Ce sera la couleur de l'ensemble , mais vous pouvez en définir un autre pour la sous-vue :) –

+0

Fonctionne comme un charme :) Merci beaucoup! – smuvv

0

Pour iOS, augmenter le zIndex de votre extérieur <View>

const styles = StyleSheet.create({ 
shadow: { 
    shadowOffset: { width: 10, height: 10 }, 
    shadowColor: 'black', 
    shadowOpacity: 1, 
    elevation: 3, 
    zIndex:999, 
}