javascript – React Native backgroundColor覆盖图像

我使用图像作为我的一个页面的背景.我想在图像上添加一个不透明度的backgroundColor.我不确定如何使用React Native实现这一目标.

render() {
  return (
    <Image source={require('./assets/climbing_mountain.jpeg')} style={styles.container}>
      <Text>Hello</Text>
    </Image>
  )
}

const styles = StyleSheet.create({
  container: {
  flex: 1,width: null,height: null,}

以下是我在网页上实现这一目标的方法How to make in CSS an overlay over an image?

解决方法

你可以做的很酷的事情是在它上面放一个绝对定位的视图.

<View>
  <Image source={require('./assets/climbing_mountain.jpeg')} style=  {StyleSheet.absoluteFillObject}} resizeMode='cover'>
    <Text>Hello</Text>
  </Image>
  <View style={styles.overlay} />
</View>

...
const styles = StyleSheet.create({
   overlay: {
     ...StyleSheet.absoluteFillObject,backgroundColor: 'rgba(0,0.5)'
   }
 })

absoluteFillObject与

{
 position: 'absolute',top: 0,left: 0,right: 0,bottom: 0
}

如果您希望能够点击覆盖图,只需将视图上的pointerEvents prop设置为none即可

docs:https://facebook.github.io/react-native/docs/stylesheet.html#absolutefillobject

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...