React native 按物理单位(厘米、英寸)调整尺寸
我正在为我的应用程序实现一个“标尺”功能,标尺尺寸/刻度(以厘米为单位)在多台设备上保持一致是至关重要的。也就是说,1个“滴答”必须始终等于1厘米。然而,我在任何文档中都没有找到一种像CSS中那样使用真实单位(厘米,英寸)来调整组件大小的方法;我也没有找到准确获取屏幕大小(英寸或厘米)或DPI的方法React native 按物理单位(厘米、英寸)调整尺寸,react-native,screen,React Native,Screen,我正在为我的应用程序实现一个“标尺”功能,标尺尺寸/刻度(以厘米为单位)在多台设备上保持一致是至关重要的。也就是说,1个“滴答”必须始终等于1厘米。然而,我在任何文档中都没有找到一种像CSS中那样使用真实单位(厘米,英寸)来调整组件大小的方法;我也没有找到准确获取屏幕大小(英寸或厘米)或DPI的方法 有没有办法在React Native中使用厘米/英寸或获得真正的屏幕DPI?1英寸=160 dp(始终) 请注意,1英寸始终为160dp,与屏幕大小无关。dp(密度无关像素)是1/160英寸的物理距
有没有办法在React Native中使用厘米/英寸或获得真正的屏幕DPI?
1英寸=160 dp
(始终)
请注意,1英寸始终为160dp,与屏幕大小无关。dp(密度无关像素)是1/160英寸的物理距离
React Native使用dp(密度独立像素)作为样式设置的单位
所以,如果你写:
<View style={{ height: 160, width:160, backgroundColor: 'red }}>
</View>
1英寸=160 dp
(始终)
请注意,1英寸始终为160dp,与屏幕大小无关。dp(密度无关像素)是1/160英寸的物理距离
React Native使用dp(密度独立像素)作为样式设置的单位
所以,如果你写:
<View style={{ height: 160, width:160, backgroundColor: 'red }}>
</View>
react native中的维度属性是无单位的,因此这些属性在react native中不可用。最好使用PixelRatio的getPixelSizeForLayoutSize(),如下所示:
您还需要有解决方案的像素密度(dpi)和公式:
由于物理限制,当您试图在屏幕上将1cm的像素放入可能并不总是等于1cm的小像素时,仍然可能会遇到一些奇怪的情况,即像素被分成两半和其他舍入错误。react native中的维度属性是无单位的,因此react native中不提供这些属性。最好使用PixelRatio的getPixelSizeForLayoutSize(),如下所示:
您还需要有解决方案的像素密度(dpi)和公式:
由于物理限制,当您试图将1cm的像素与屏幕上可能不总是等于1cm的小像素相匹配时,您仍然可能会遇到一些奇怪的情况,即像素被分割成两半,以及其他舍入错误。实际上这就是问题所在,160 dp并不总是1英寸。在我的测试设备中,我得到1英寸~=140dp@PedroAffonso你在模拟器上测试吗?如果是这样的话,模拟器的尺寸可能不符合比例。事实上,这就是问题所在,160 dp并不总是1英寸。在我的测试设备中,我得到1英寸~=140dp@PedroAffonso你在模拟器上测试吗?如果是这样,模拟器的尺寸可能达不到比例。