使用React Native定义一些样式尺寸时,没有任何单位:
welcome: {
fontSize: 20,
margin: 10,
}
我认为原因是因为它是跨平台代码,iOS和Android使用不同的单位。
docs并不是很有用,因为所有示例都使用rem
单位,而且没有任何地方提及单位。
那么每个平台使用的单位是什么?
修改:other answer并未说明Android中使用的单位。我假设它是dp
,但它并未在任何地方指定。
答案 0 :(得分:11)
单位是iOS的逻辑像素。请参阅问题here,这是由React Native的贡献者回答的。
对于Android,单位在DIP,这有点类似于iOS中的逻辑点(主题上有一个很好的write up)。如果您在此处查看源代码 - https://github.com/facebook/react-native/blob/235b16d93287061a09c4624e612b5dc4f960ce47/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java#L24,您会看到他们转换了提供的值toPixelFromDIP
。