react native 从入门到放弃 ING......

设置图像显示模式
1,resizeMode介绍
(1)当 Image 组件的实际宽、高与图片的实际宽、高不符时,要如何显示图片由样式定义中的 resizeMode 取值来决定。

(2)resizeMode 的五个取值分别是:contain、cover、stretch、center 和 repeat。

如果没有定义 resizeMode,默认值为:cover
其中 repeat 只对 iOS 平台有效。
(3)无论 resizeMode 取值如何,图片都会在 Image 组件的显示区域居中显示。即显示的图片中点与显示区域的中点是一个点。

(4)resizeMode 比较特殊,可以按需要,自由放置在如下两个地方:

既可以作为 Image 组件样式中的一个键值对发挥作用。
也可以作为 Image 组建的属性来发挥作用。

2,各种模式介绍
(1)cover 模式(默认值)

该模式要求图片能够填充整个 Image 组件定义的显示区域,可以对图片进行放大或者缩小,可以丢弃放大或缩小后的图片中的部分区域,只求在显示比例不失真的情况下填充整个显示区域。

如果图片的宽、高有一个值小于 Image 的实际宽、高, React Native 会对图片进行放大,直到图片的宽与高均不小于 Image 的实际宽、高。然后将放大的图片居中显示,超出显示区域的部分被直接丢弃。
如果图片的宽、高均大于 Image 的实际宽、高, React Native 会对图片进行等比缩小,直到缩小后图片的宽、高有一个值等于 Image 的实际宽、高。然后将缩小后的图片居中显示,超出区域的部分被直接丢弃。

(2)contain 模式

该模式要求显示整张图片,可以对它进行等比放大或者缩小,但不能丢弃改变后图片的某部分。这个模式下图片得到完整的呈现,比例不会变。但图片可能无法填充 Image 的所有区域,会在侧边或者上下留下空白,由 Image 组件的底色填充。

如果图片的实际宽、高都小于 Image 的实际宽、高, React Native 会对图片进行等比放大,直到宽、高中有一个值等于 Image 的实际宽、高。然后居中显示图片。
如果图片的实际宽、高有一个值或者都大于 Image 的实际宽、高, React Native 会对图片进行等比缩小,直到缩小后图片的宽、高有一个不小于 Image 的实际宽、高,然后在 Image 中展现图片。

(3)stretch 模式

该模式要求图片填充整个 Image 定义的显示区域,因此会对图片进行任意的缩放,不考虑保持图片原来的宽、高比。这种模式显示出来的图片有可能会出现明显的失真。

(4)center 模式

该模式要求图片图片位于显示区域的中心。这种模式下图片可能也无法填充 Image 的所有区域,会在侧边或者上下留下空白,由 Image 组件的底色填充。

如果图片的实际宽、高都小于 Image 的实际宽、高, React Native 不会对图片进行任何缩放,只是把它居中呈现在父 View 中。
如果图片的实际宽、高有一个值或者都大于 Image 的实际宽、高, React Native 会对图片进行等比缩小,直到缩小后图片的宽、高有一个不小于 Image 的实际宽、高,然后在 Image 中展现图片。

(5)repeat 模式(iOS 独有)

该模式的图片处理思路是用一张或者多张图片来填充整个 Image 定义的显示区域。

<View style={styles.home_img}>
	<TouchableOpacity onPress={this.switch}>
		<Image source={require('../res/images/home.png')} style={{height:'100%'}} resizeMode = 'contain'/>
		{/* <Text style={{ marginTop: convertX(5), color: '#fff' }}>{Strings.getLang('switch')}</Text> */}
	</TouchableOpacity>
</View>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值