原生Expo中ImageBackground上方的LinearGradient

时间:2018-11-12 18:31:46

标签: react-native expo linear-gradients imagebackground

在我的本机expo应用程序中,我有一个背景图像,该图像在所有屏幕上都占据了整个高度和宽度,并且我想在背景图像上方放置一个线性渐变,但它不起作用,该图像始终出现在渐变上方,这是代码:

    import React, { Component } from 'react';
    import { LinearGradeint } from 'expo';
    import { Text, StyleSheet, ImageBackground } from 'react-native';

    class App extends Component {

      render() {

        return(
          <View style={styles.container}>
          <LinearGradient
          colors={['#4c669f', '#3b5998', '#192f6a']}>
            <ImageBackground source={require('./images/background.jpg')} style={styles.backgroundImage}>
            <View style={{width: "100%"}}>
            <Text>
              HI
            </Text>
          </View>
           </ImageBackground>
          </LinearGradient>
          </View>
        )
      }
    }

    const styles = StyleSheet.create({
      container: {
        flex: 1,
      },
      backgroundImage: {
        height: '100%',
        width: '100%',
        flex: 1,
      },
    export default App;

2 个答案:

答案 0 :(得分:0)

尝试将LinearGradient组件放入ImageBackground中。

<ImageBackground source={require('./images/background.jpg')} style={styles.backgroundImage}>
     <LinearGradient colors={['#4c669f', '#3b5998', '#192f6a']} />
          <View style={{width: "100%"}}>
          </View>
</ImageBackground>

答案 1 :(得分:0)

在LinearGradient上添加绝对位置:

<LinearGradient
   colors={['#4c669f', '#3b5998', '#192f6a']}
   style={{
      position: 'absolute',
      left: 0,
      right: 0,
      top: 0,
      height: '100%'
   }}
/>