2017-07-04 38 views
5

Próbuję dostać cień poniżej moich poglądów, a od tego, co znalazłem w Internecie powinna być dość prosta:React-natywną cień nie pojawia

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

ale problemem jest to, że jest cień w ogóle się nie pojawia.

Oto moje składniki

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

i moim arkusza stylów:

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

Każdy powód do tego, czy jest tam coś Tęskniłam?

+0

problemu jest po prostu prawo cień? czy widzisz swój komponent? –

+0

Tak! Tylko cień – smuvv

Odpowiedz

15

Czy cień działa na OI? Android i IOS działają ≠ w trybie-React-natywnym. Dla Androida działa z 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 
} 

W przeciwnym razie, spróbuj ustawić kolor tła do komponentu cienia :)

+0

Nie mogę przetestować na iOS w tej chwili, więc nie jestem pewien. Niestety elewacja też nie działa. Nie wiesz, co masz na myśli, dodając kolor tła do komponentu cienia, czy nie zrobiłby tego całego komponentu w tym kolorze, jako że zawijał wszystkie komponenty w nim zawarte? – smuvv

+3

[Brak koloru tła] (https://www.hostingpics.net/viewer.php?id=677954Capturedecran20170704a165937.png) || [Z kolorem tła] (https://www.hostingpics.net/viewer.php?id=320071Capturedecran20170704a170010.png) Musisz ustawić backgroundColor, aby włączyć elewację. Będzie to kolor całego , ale możesz ustawić inny dla subView :) –

+0

Działa jak urok :) Wielkie dzięki! – smuvv

0

dla iOS, podnieść zIndex swojej zewnętrznej <View>

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