0

对于将部署到特定设备的简单项目,我想知道是否可以使用本机像素指定测量值,从而忽略设备 dpi(例如,它可能被 Windows 中的用户在系统级别覆盖)。

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

有没有更简单、更易于管理的方法?

4

1 回答 1

1

React Native 带有一个 PixelRatio 模块,该模块有一个名为get. 您必须手动将所有测量值除以像素比率。

  1. 从物理像素的数量开始。
  2. 除以像素比 ( PixelRatio.get()) 得到相应的逻辑像素数。
  3. 使用逻辑像素数StyleSheet.create和其他布局相关的方法。
  4. React Native 和底层的原生 UI 框架会将逻辑像素转换回物理像素。

如果它变得乏味,你可以为此编写一个辅助方法。这是一个 API 的想法:

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

大多数情况下,您应该使用逻辑像素。只有当您想要精确控制硬件屏幕或与没有屏幕比例概念的系统交互(例如获取 JPEG 图像)时,您才会想要使用物理像素。

于 2016-11-29T05:05:00.937 回答