我在我的屏幕上使用SafeAreaView它的工作,但我想有透明的背景,而不是纯色,实际上我想有我的屏幕的背景图像显示在SafeAreaView。我该怎么办?
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> ) } }
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, }),
2条答案
按热度按时间klh5stk11#
如果要使用图像背景,则将safeAreaView嵌套在ImageBackground中
mkshixfv2#
只需从SafeAreaView样式中删除paddingTop,它将忽略backgroundColor:“#ffffff”如下代码所示。通过执行此操作,您将在React Native中实现安全区域透明背景