React-Native中的图片布局和web或者H5有比较大的差别。
主要有resizeMode:'stretch' || 'contain' || 'cover'(该属性只能加在Image标签上,加在其他标签上没有作用,也不会报错,但会有warning)。
resizeMode在未设置Image标签的宽高则无效。本实验是以width:375,height:667,即占满整个iPhone6屏幕。
好,一个个讲讲这仨resizeMode。
stretch:不按原图宽高比例,而按照设置的宽高拉伸。
cover:按照原图大小展示,在容器(整个屏幕)里只显示原图的左上角的一部分。
contain:按照原图的宽高比例,根据Image设置的宽高中比例较小的缩小图片展示。
而且Image标签的source有些蛋疼的是require的方式不允许动态地址如require(this.state.url)。
var url = null;
switch (this.props.id){
case './images/1.jpg':
url = require('./images/1.jpg');
break;
case './images/2.jpg':
url = require('./images/2.jpg');
}如果几个图片的话,简单的用switch方式可以解决。
本文介绍了React-Native中图片布局的区别,重点讲解了resizeMode的三种模式:stretch(拉伸填充)、cover(按比例裁剪填充)和contain(保持比例缩放)。在实际应用中,resizeMode需配合设置的Image宽度和高度使用,否则无效。同时,指出require方式加载图片不支持动态地址,并给出静态地址的switch示例。
1272

被折叠的 条评论
为什么被折叠?



