ReactNative之Image组件自适应高度,图片自适应大小
需求原因:因为做商城详情页面的图片长短不一,所以要自适应图片显示高度。这个需求就产生了。
getSize方法 传入imageUri(图片的uri路径,支持本地和网络路径)
- Image.getSize(imageUri,(width,height) => {
- //width 图片的宽度
- //height 图片的高度
- }
算法:
1.首先获取手机屏幕宽高
- let screenWidth = Dimensions.get('window').width;
- let screenHeight = Dimensions.get('window').height;
2.获取网络图片宽高
- Image.getSize(imageUri,(width,height) => {
- //width 图片的宽度
- //height 图片的高度
- }
3.
算法一:
图片宽度(÷)手机屏幕宽度 = 图片和手机宽度之比。
图片高度(÷) 图片和手机宽度之比 = 图片应在手机上显示的高度。
注:如果图片宽度小于手机屏幕,有极大可能会让图片失真,这样的话应当增加判断(请自行编码)。
算法二:
宽度是要适配全屏的,所以要设置图片的大小,宽度就等于手机屏幕宽度,那么高度
显示高度 = Math.floor( 屏幕宽度(÷)(图片的宽 * 图片的高));
- //方法一代码:
- Image.getSize(imageUri,(width,height) => {
- //width 图片的宽度 Math.floor向下取整
- //height 图片的高度
- let proportion = width/screenWidth;
- let myHeight = height/screenHeight;
- }
- //方法二代码:
- Image.getSize(imageUri,(width,height) => {
- //width 图片的宽度
- //height 图片的高度
- let myHeight = Math.floor(screenWidth/width*height);4 /2 * 1 = 2
- }
注:防止小数点后出现过多小数位数,这里特别用Math.floor进行js小数返回向下取整的整数。
向下取整:
Math.floor(XXX)
XXX = 1.8
Math.floor(XXX)的值就是1
XXX = 1.2
Math.floor(XXX)的值就是1
至此,把图片Image组件的宽高设置成自定义的宽高就ok了。
### // 获取自适应高度
### const height = 屏幕的宽度 * 图片的高度 / 图片的宽度
### // 4 * 1 / 2 = 2
ReactNative之Image组件自适应高度,图片自适应大小相关推荐
- css 图片自适应_img图片自适应object-fit
当图片比例不固定,需要自适应显示图片时,可以使用img属性:object-fit object-fit有如下属性值: object-fit: fill; object-fit: contain; ob ...
- php iframe 自适应高度,iframe自适应高度
很多小伙伴在做网站的时候对于解决iframe的高度问题都是很头大的一件事,今天吾爱编程为大家介绍一下iframe自适应高度的方法,有需要的小伙伴可以参考一下: 1.需求分析: 使页面中的iframe可 ...
- php自适应高度,iframe 自适应高度
各位大侠,如何让iframe自适应内容的高度呢?我搜了网上好多方案,但没有一个管用的.怎么办?谁有好主意? 我的例子很简单,一个空白的页面,引用搜狐的主页,怎么框架自适应高度? frameborder ...
- VB6.0让图片自适应Picture图片框大小
Picture的AutoSize属性设为True的话可以让图片框自动适应图片大小,但是图片不能适应图片框大小: Image的Stretch属性设为True的话可以让图片自动适应图像框大小. ...
- vue页面自适应屏幕宽高_vue组件页面高度根据屏幕大小自适应
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...
- Jquery图片自适应
这里写自定义目录标题 Jquery图片自适应 Jquery图片自适应 点击图片的缩放效果 1.给图片添加自定义属性(获取原始的高度和宽度,方便接下来的使用) $(标签).attr('原始宽',this ...
- 弹性盒子布局宽度自适应-图片自适应
flex布局,宽度自适应.图片自适应: 实现效果如下: css代码: 通过弹性盒子flex进行布局: html代码: 遍历生成DOM元素:
- Unity基础:文本框、图片自适应(ContentSizeFitter、VerticalLayoutGroup等组件的使用)
1.Unity UGUI背景图片自适应文字大小_PalmAdorableTiger的博客-CSDN博客 2. Vertical Layout Group/Horizontal Layout Group ...
- 关于小程序widthFix图片高度不能自适应的问题
微信小程序 Image 图片实现宽度100%或设置成某个rpx的值例如520rpx,高度自适应要如何设置呢? 一般做法如下: 样式设置宽度100%, .img{width: 100%; } 在图片组件 ...
最新文章
- 【超越EfficientNet】无需注意力,Transformer结合视觉任务实现新SOTA
- 线程通信问题--生产者和消费者问题
- Cloudify — 系统架构
- topcoder srm 495 div1
- 操作多个表_6_生成笛卡尔积
- 深度报文检测 linux,DPI-深度报文检测
- python 读写 json文件
- SpringBoot----日志框架和配置,熬夜整理Java面试笔试题
- C编程语言中整型变量在内存中的存储形式介绍
- 灵活的javaScript
- 高性能迷你React框架anujs1.0.8发布
- 【Azure Services Platform Step by Step-第7篇】别把Windows Azure当虚拟主机使——理解Windows Azure服务架构...
- (PC+WAP)高等院校学院职业学校类网站源码 政府单位机构协会Pbootcms网站模板
- pchunter驱动加载失败_电脑开机显示自动修复失败无法进入系统,解决方法
- linux怎么下载ftp文件夹,命令行 - 如何在Linux上通过FTP递归下载文件夹
- MySQL数据表字段繁体转简体
- html 广告弹窗代码,广告弹窗.html
- Android 视频播放 界面变形处理
- 卖主机的建辉互联张磊道貌岸然骗子公司(www.zzidc.top)
- XSS(跨站脚本攻击)理论知识