当前位置: 首页 > 编程笔记 >

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

梁马鲁
2023-03-14
本文向大家介绍React Native 如何获取不同屏幕的像素密度,包括了React Native 如何获取不同屏幕的像素密度的使用技巧和注意事项,需要的朋友参考一下

 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开发的过程中最长使用到的方法。

结论

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

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

 类似资料:
  • 很抱歉创建了一个潜在的副本,但我没有找到任何答案来回答我的问题。它本质上归结为: 我应该在哪些文件夹中包含哪些图像大小的全屏图像以支持所有Android设备? 答案通常说明不同的像素分辨率,以放入每个密度桶中。 例如: 来源:Android:支持所有设备的背景图像大小(像素) 像这样的列表实际上正是我想要的。唯一的问题是这对我来说没有意义。 按密度对图像进行分组似乎适合于在不同密度上显示相同大小的

  • 问题内容: 我如何获取元素(例如按钮)的实际屏幕位置?如果我使用getBounds,我将获得相对于父容器而不是屏幕的位置。 问题答案: 你试过了吗?

  • 有没有一种方法可以使用Java/Swing为不同的显示密度选择不同的图像,这样我的应用程序在更高密度的显示器上看起来就不会模糊?或者这不是那么重要或可能吗?我知道Chrome目前没有考虑到DPI,但Internet Explorer和其他应用程序都考虑到了。 谢谢您的帮助,我是一个长期的Java开发人员,我只是以前从未考虑过DPI,并想知道我应该如何去做:)

  • 我正在为我的应用程序准备抽屉。经过一些研究,我知道需要考虑的3个参数是屏幕大小、密度和分辨率。 1.)因为对于特定的屏幕尺寸,如果密度变化,那么相应的分辨率将自动变化。此外,对于特定的密度,如果屏幕尺寸变化,那么相应的分辨率将自动变化。 按照这一逻辑,我不再考虑分辨率,计划只关注屏幕大小和密度。我的方法正确吗? 2.)现在根据文档,如果您正在为mdpi准备100x100映像,那么您应该分别为ldp

  • 问题内容: 我正在开发一个需要屏幕DPI的应用程序。我检查了几个论坛,并获得了一个代码段,内容如下: 但是无论我的屏幕分辨率值是多少,该值都保持不变,为96。代码有什么问题? 对于同一件事,我得到了另一个代码,如下所示: 但是再一次,无论我的屏幕分辨率如何,返回的值都是相同的96。怎么了?我的代码是错误的还是我以错误的方式解释了它? 问题答案: 问题是没有人知道操作系统的确切物理尺寸,甚至连操作系

  • 我试图用selenium和Firefox捕获http://www.flipkart.com url的屏幕。 它拍摄整个页面的屏幕快照,但它显示的内页图像对许多其他图像不可用。我无法纠正它。帮帮我.