之前在
ReactNative笔记(二)
中总结了一点,
RN长宽单位默认对应DP:所谓与密度无关就是密度变化不引起物理尺寸的变化,这一点DP与RN官方说的一致.
现在想想,也就是说1DP在物理尺寸上不管屏幕的分辨率怎么变化,它的物理尺寸是固定不变的是核心
脑海里想象我的电脑是一个手机屏幕,我把分辨率调高了,也就是屏幕密度变大了,物理尺寸没有变,那么一个像素代表的物理尺寸也就小了,1DP要保持它的物理尺寸不变化,那么就要转化成更多的像素点
在React Native 中 PixelRatio.get() 是获取屏幕密度的.
80 dpi 上 PixelRatio.get()=0.5 1dp=0.5px
160 dpi 上 PixelRatio.get()=1 1dp=1px
320dpi 上PixelRatio.get()=2 1dp=2px
从上面的规律分析得出 react native 中 1px=1dp/屏幕密度 而屏幕密度=PixelRatio.get()
所以 1px=1dp/PixelRatio.get()
————————————————
版权声明:本文为CSDN博主「小源子2016」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rnZuoZuo/article/details/53427456