欢迎来到代码驿站!

iOS代码

当前位置:首页 > 移动开发 > iOS代码

React Native 如何获取不同屏幕的像素密度

时间:2021-05-04 10:47:17|栏目:iOS代码|点击:

 React Native  获取不同屏幕的像素密度

使用React Native开发 User Interface,初步了解之后,产生一个疑问,使用flexbox开发页面,width及height属性等输入大小或者说尺寸的地方,不能输入单位,如 height:80,通过JSX传化之后到都是按 px 像素单位处理的,因此在这个不同分配率的手机和不同密度的手机显示的效果不同,如何解决这个问题?

你猜我找到了什么?

React Native 提供的像素比获取神器PixelRatio

PixelRatio类提供给我们几个重用的方法,整理如下:

1、返回设备的像素密度

static get()

等同于在Android开发中通过代码

context.getResources().getDisplayMetrics().density;

获取到的手机设备密度。

返回结果如下图:(这是从官网上盗的图,^_^)

举个栗子

borderwidth : 1/PixelRatio.get() 

返回的就是当前设备的最小线宽。

2、 返回字体大小的缩放因子

static getFontScale()

获取到的比率是用来计算文字的绝对大小,所以对计算的精度要求很高的元素,应该使用这个比率。

例如用户在通过 Setting > Display > Font Size 设置设备的字体显示大小,这个值就会改变,默认的情况下返回设备的像素比。

3、 单位 dp 转换成 px

static getPixelSizeForLayoutSize(layoutSize:number)

在UI开发的过程中最长使用到的方法。

结论

这个类的使用,以后再开发的过程中还会持续更新。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:iOS简单易用的GCD计时器的实现原理

栏    目:iOS代码

下一篇:iOS自定义collectionView实现毛玻璃效果

本文标题:React Native 如何获取不同屏幕的像素密度

本文地址:http://www.codeinn.net/misctech/114172.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有