Css 以4:5的比例显示图像,并在react native中显示容器内部视图

Css 以4:5的比例显示图像,并在react native中显示容器内部视图,css,image,react-native,Css,Image,React Native,我不知道用户预先上传的图像比例,但我需要以4:5的比例显示所有图像,即 image width=device window width size image height=(device window width size)*5/4 我使用上面的计算在容器视图中显示我的图像,但是图像被裁剪了。如果使用“调整大小”模式,图像会失真 代码: 容器:{ 弹性:1, flexDirection:'行', 对齐项目:“居中”, 为内容辩护:“中心” }, 固定比率:{ 边缘左:-10, margin

我不知道用户预先上传的图像比例,但我需要以4:5的比例显示所有图像,即

image width=device window width size 
image height=(device window width size)*5/4
我使用上面的计算在容器视图中显示我的图像,但是图像被裁剪了。如果使用“调整大小”模式,图像会失真

代码:


容器:{
弹性:1,
flexDirection:'行',
对齐项目:“居中”,
为内容辩护:“中心”
},
固定比率:{
边缘左:-10,
marginRight:-10,
背景颜色:“红色”,
弹性:1,
方面:1,
宽度:设备宽度,
高度:设备宽度*5/4
},
编辑1:

根据@marson answer,我更改了如下代码

我设置背景色来区分图像。现在图像不会被裁剪。但不适合在视图内

<View style={{ backgroundColor: 'blue', aspectRatio:4/5, alignSelf:'center', width: '100%'}}>
   <Image resizeMode={'contain'} style={{width:'100%', height:'100%'}} source={{ uri: this.props.navigation.state.params.uri }}/>
</View>

这行吗

<View style={{
  width: '100%',
  aspectRatio={4.0/5.0}
}}>
  <Image
    style={{
      width: '100%',
      height: '100%',
    }}
    resizeMode={'contain'}
    source={...}/>
</View>


否。图像被裁剪。@不可访问的是,您的图像的纵横比不是4:5,但您希望将其放入一个尽可能大的4:5的框中?在我的例子中,我将背景设置为灰色,这样它看起来就不会很差。或者你也可以像许多应用程序一样将其设置为黑色!但是请注意,封面模式会裁剪图像,因为它会填充所有的空间。@太好了,那么这是另一个级别的问题,哈哈
<View style={{
  width: '100%',
  aspectRatio={4.0/5.0}
}}>
  <Image
    style={{
      width: '100%',
      height: '100%',
    }}
    resizeMode={'contain'}
    source={...}/>
</View>