原生像素大小(如何忽略像素比)

时间:2016-11-28 16:06:13

标签: react-native pixels resolution-independence

对于将部署到特定设备的简单项目,我想知道是否可以使用本机像素指定测量值,因此忽略设备dpi(例如,可能会被W​​indows中的用户覆盖系统dpi电平)。

目前,唯一的解决方案似乎是划分像素比率的任何值。

是否有更简单易于管理的方式?

1 个答案:

答案 0 :(得分:1)

React Native附带一个PixelRatio模块,该模块有一个名为get的方法。您必须按像素比率手动划分所有测量值。

  1. 从物理像素数开始。
  2. 除以像素比率(PixelRatio.get())以获得相应数量的逻辑像素。
  3. 使用StyleSheet.create中的逻辑像素数和其他与布局相关的方法。
  4. React Native和底层的原生UI框架会将逻辑像素转换回物理像素。
  5. 如果它变得单调乏味,你可以为此编写辅助方法。这是API的一个想法:

    StyleSheet.create({
      box: {
        width: physical(100),
        height: physical(75),
      },
    });
    

    大多数时候你应该使用逻辑像素。仅当您想要精确控制硬件屏幕或与系统交互时,如果没有屏幕比例概念(例如,获取JPEG图像),您希望使用物理像素。