React Native组件篇(二) — Image组件(1)

本文介绍了ReactNative中Image组件的基本用法,包括加载网络图片的回调机制(onLayout、onLoad、onLoadEnd和onLoadStart),以及resizeMode属性在处理图片适配中的作用。作者分享了前端开发的学习资源,鼓励读者付诸实践以提升技能。
摘要由CSDN通过智能技术生成

代码:

render() {

return(

<Image

source={{uri:‘test’}}

style={{width: 120, height: 120}} />

);

}

效果图:

2.3 加载来自网络的图片

代码:

render() {

return(

<View style={{marginTop:100,alignItems:‘center’}} >

<Image

source={{uri:‘https://www.baidu.com/img/bd_logo1.png’}}

style={{width: 120, height: 120}} />

);

}

效果:

3、Image组件的常见属性


3.1 属性方法
  • onLayout(function)

当Image布局发生改变的,会进行调用该方法,调用的代码为:{nativeEvent: {layout: {x, y, width, height}}}.

  • onLoad (function)

当图片加载成功之后,回调该方法

  • onLoadEnd (function)

当图片加载失败回调该方法,该不会管图片加载成功还是失败

  • onLoadStart (fcuntion)

当图片开始加载的时候调用该方法

  • resizeMode

缩放比例,可选参数(‘cover’, ‘contain’, ‘stretch’) 该当图片的尺寸超过布局的尺寸的时候,会根据设置Mode进行缩放或者裁剪图片

  • source{uri:string}

进行标记图片的引用,该参数可以为一个网络url地址或者一个本地的路径

先说下加载Image的回调方法:

<Image

source={{uri:‘https://www.baidu.com/img/bd_logo1.png’}}

style={{width: 120, height: 120}}

onLayout={()=>{alert(‘布局变化回调’)}}

onLoad={()=>{console.log(‘加载回调’)}}

onLoadEnd={()=>{console.log(‘加载结束’)}}

onLoadStart={()=>{alert(‘开始加载’)}}

/>

console.log在控制台输出,类似OC nslog

想必大家也发现了加载网络图片的时候,图片被遮挡住了。这是因为图片大小已经超过了我们指定宽高的相框,然而相片默认属性并不是自适应。那我们应该调节resizeMode属性来达到想要的内容。

  1. cover模式只求在显示比例不失真的情况下填充整个显示区域。可以对图片进行放大或者缩小,超出显示区域的部分不显示, 也就是说,图片可能部分会显示不了。

  2. contain模式是要求显示整张图片, 可以对它进行等比缩小, 图片会显示完整,可能会露出Image控件的底色。 如果图片宽高都小于控件宽高,则不会对图片进行放大。

  3. stretch模式不考虑保持图片原来的宽,高比.填充整个Image定义的显示区域,这种模式显示的图片可能会畸形和失真。

看下 contain是否能达到我们想要的效果:

3.2 样式风格属性

FlexBox 支持弹性盒子风格

Transforms 支持属性动画

backgroundColor 背景颜色

borderColor 边框颜色

borderWidth 边框宽度

borderRadius 边框圆角

overflow 设置图片尺寸超过容器可以设置显示或者隐藏(‘visible’,‘hidden’)

tintColor 颜色设置

opacity 设置不透明度0.0(透明)-1.0(完全不透明)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

!!(备注:前端)**

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

资料领取方式:戳这里前往获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值