React Native的默认风格单位是什么?

我正在开发一个开源项目,在那里我正在开发React Native的材料devise。 我在工作中被阻止,我无法使填充,alignment等一些UI级别的增强,

这是抽屉式材料devise的官方规格,

根据Material Design的规格

在上面的图片中,度量的单位dp

但是,在我的React Native代码中,我看到没有提到这样的单位。 考虑到这是“反应原生”我很困惑,不pipe是px还是dp

我什至超过了反应本机的官方文件风格的组成部分。 我没有在任何地方看到任何提及。

我的代码看起来像 –

const styles = { touchable: { paddingHorizontal: 16, marginVertical: 8, height: 48 }, item: { flex: 1, flexDirection: 'row', alignItems: 'center', }, icon: { position: 'relative', }, value: { flex: 1, paddingLeft: 34, top: 2 }, label: { top: 2 } }, 

请你能告诉我,如果这是像素或DP? 而且,是1px = 1dp

Solutions Collecting From Web of "React Native的默认风格单位是什么?"

我有点分享你的困惑,不能像开发者习惯的那样在开发者控制台上进行主动的检查。

我不熟悉'dp'单元,但是从我收集的width: 1来看width: 1根据屏幕的像素密度在每个设备上呈现不同的颜色(请参阅链接)。 反应原生文档中的信息表明, 1会在高像素密度的屏幕上呈现更厚。 这听起来合乎逻辑,因为在高密度屏幕上你比在低密度屏幕上有更高的精度,而且反应本来就是普遍的目的,所以它不会承担高DPI。

这是我的理解,你可以使用下面的链接的PixelRatio API来计算细节元素的大小(想像边界,图标等),这样你可以根据设备的屏幕密度dynamic调整渲染的大小。

https://facebook.github.io/react-native/docs/pixelratio.html#content

从文档 :

React Native中的所有维度都是无单位的,并且表示与密度无关的像素。 无论屏幕尺寸如何,以这种方式设置尺寸对于应该始终以完全相同尺寸呈现的组件来说是很常见的。

所以是的,React Native中的单位在dp 。 如果您想将它们转换为像素,请使用PixelRatio.getPixelSizeForLayoutSize()

从我所知道的,我们使用的javascript风格反应js或反应本机使用像素。 只需要像素比例来支持不同尺寸的移动设备屏幕。

这是你必须考虑的像素比例 。 像素代表绝对值。 像素比例是相对值。 使应用程序屏幕和组件响应您必须使用像素比例。

我已经在多个应用程序中使用过。 我认为这是你如何去做的。 希望这回答你的问题。