2016-09-03 124 views
1

我希望React本机图像的宽度为可用屏幕宽度的50%,不需要修改图像的宽度:高度比。React本机响应图像宽度,而图像的宽高比保持不变

任何提示如何解决这个问题?

+0

我认为[react-native-fit-image](https://github.com/huiseoul/react-native-fit-image)对你很有用。 – Originerd

+0

看看[react-native-scalable-image](https://www.npmjs.com/package/react-native-scalable-image) –

回答

8

使用调整模式cover和宽度设定为屏幕宽度/ 2可以使用Dimensions部件

//Get screen width using Dimensions component 
var {width} = Dimensions.get('window'); 
//.... 
//In image style 
image:{ 
    width: width * 0.5 
} 
//In render function 
<Image resizeMode = 'cover' style = {styles.image}/> 

编辑添加溢出

//add overflow : visible 
<Image resizeMode = 'cover' style = {[styles.image,{overflow: 'visible'}]}/> 
+0

谢谢,所以现在至少让我有正确的宽度。当仅将宽度style-property传递给图像时,整个图像似乎会崩溃并且不会将任何高度值应用于图像。如果我手动传递一些高度属性,它工作得很好。因为我不想在每张图片上都有固定的高度,是否有一些解决方法可以通过应用此宽度使其“真正响应”? 我设立了一些RN边境助手的游乐场,已经包括你的解决方案[这里](https://rnplay.org/apps/OWsKaQ) – manpenaloza

+0

添加'overlow:visible'样式将解决问题 – Coyote

+0

永远不会想到这是一个溢出问题,谢谢! – manpenaloza

0

问题的上述方法的缺点是retrive屏幕宽度当你旋转设备时,图像尺寸不会改变。因此,使用维度与状态,以便它将在旋转时更新。

+0

请在相关的地方留言。这不是一个有用的答案。 – vinS

相关问题