先来点实际的:
image组件加载图片的7种方式:
image组件加载图片主要通过source属性来设置,现在我们来看一下source的几种写法:
(1)官方文档本地图片常规方式1:source={require(“一个RN项目里的相对路径”)}
(2)官方文档网络图片常规方式2:source={require(“一个url网络路径”)}
(3)使用drawable文件夹下面的资源文件:source={uri:”文件名”}。这里的文件名是不带后缀的,所以…你懂的。
(4)使用网络图片方式2:source={uri:”图片的url网络路径"}
(5)官方使用网络base64文件流 source={uri:’data:数据类型;base64,base64数据’,scale: 值} //这个办法没有亲测过,但是文档的例子是这么写的。
(6)使用android fileURI路径:source={uri:‘file///fileURI’}
(7)使用 android contentURI :source={uri:’content://……...’}
后面的有待补充.................................
image的gif动态图支持:
image组件并不是直接支持动态gif图,需要在外面套上一个View方能正常播放,否则,只显示第一帧~!
神坑1:大部分1帧gif图会报错;少部分2帧GIF图会报错,原因不明,报错内容:../../....gif,¥#%……&error ??(额,大概就是这样的)
image 布局:
(1)image的flex:
其实对flex弹性盒子支持并不好,貌似直接使用完全无效(这个毛病很多组件都有),需要在父级加一层view,flex操作view,image自己控制好自己在view里面的位置,SO,尽量设宽高,不然.......呵呵
(2)image用做背景图:
尽量不要使用宽度为1的图片拉伸来得到一个背景.......原因同上,你又要开始计算宽高,又要动态赋值,这次加上view都不行了(原因不明),父级加上view用flex完全没用,
SO,总结下来就是,不管你用什么办法,你都得确定image里面图片的宽高,不然.....再次呵呵
这里补充一下,image设宽高有两种:style属性或者source属性:source={uri:uri,width:x,heigh:y}
剩下的,暂时没遇到或者忘了,大家有遇到的快快留言
今天7/18,自从上周五升级了0.29.1之后,所有的GIF图都挂了,原因不明,就是显示空白,也不报错,检查了2天,如果哪个朋友有填过这个坑,请马上联系我,非常非常非常非常非常的感谢!
下午三点半,Android的GIF支持解决,原因是0.29版剥离了fresco支持库。导入即可
2024 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123