安全区域react原生中的透明背景

btqmn9zl  于 2023-01-27  发布在  React
关注(0)|答案(2)|浏览(245)

我在我的屏幕上使用SafeAreaView它的工作,但我想有透明的背景,而不是纯色,实际上我想有我的屏幕的背景图像显示在SafeAreaView。
我该怎么办?

klh5stk1

klh5stk11#

如果要使用图像背景,则将safeAreaView嵌套在ImageBackground中

class App extends React.Component{
 render(){
  return(
     <ImageBackground 
       source={{uri:'https://wallpapershome.com/images/pages/pic_v/3443.jpg'}} 
       style={{height:Dimensions.get('window').height, 
       width:Dimensions.get('window').width, overflow:'hidden', flex:1}}
       > 
        <SafeAreaView>
         //whatever content
        </SafeAreaView>

      </ImageBackground>
     )
   }
 }
mkshixfv

mkshixfv2#

只需从SafeAreaView样式中删除paddingTop,它将忽略backgroundColor:“#ffffff”如下代码所示。通过执行此操作,您将在React Native中实现安全区域透明背景

<SafeAreaView style={styles.flex}>
      <StatusBar
        barStyle={barStyle}
        backgroundColor={'transparent'}
        translucent={true}
        animated={true}
      />
      <View
        style={[
          theme == LIGHT_MODE ? styles.containerLight : styles.containerDark,
          style,
        ]}>
        {children}
      </View>
    </SafeAreaView>
flex: () => ({
    flex: 1,
    backgroundColor: "#ffffff",
    paddingTop: Platform.OS == 'android' ? StatusBar.currentHeight : 30,
  }),

相关问题