我们都知道,小程序是一个跨系统的平台。这就意味着,小程序会在不同的设备上运行,但不同设备的分辨率会有差异。在小程序中,如何在分辨率不同的设备上保证视觉元素的正常显示?这就需要名为 rpx 的动态尺寸单位。本期,知晓程序(微信号 zxcx0101)为大家带来小程序 rpx 单位全解析,希望能够帮助你解决有关 rpx 的一切疑问。为什么需要动态单位和 rpx?
在显示屏上,每一个画面都是由无数的点阵形成的。这个点阵中,每一个点叫做像素,就是 pixel(缩写为 px)。上面的那句话,对于很多人来说都是常识。但是,随着 Retina 屏幕(即「视网膜屏」)的推出和高分屏的普及,1 px 所能代表的实际长度并非是一成不变的。对于跨平台、跨设备的应用来说,单纯使用 px 并不能满足需要。因为,这很难保证小程序的元素,能在不同设备上正常显示——同样 px 尺寸的元素,在高分屏上显示会明显要比在低分屏显得更小。因此,我们需要一个动态的长度单位。这个单位通过对不同屏幕的分辨率进行调整和适配,保证相同元素在不同屏幕上的展示是正常的。苹果和 Google 对此都有相应的措施:
在 iPhone 6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素。开发微信小程序时设计师可以用 iPhone 6 作为视觉稿的标准。也就是说,设计师在设计小程序时,可以这样做:
由于苹果对高分屏的优化良好,所以在 iOS 上,代码中的 1 px 所代表的实际像素数会根据不同设备动态调整,开发者不需要进行二次换算。
由于 Android 设备碎片化严重,Google 不得不建立了一个新的名叫「density-independent pixel(密度无关像素,缩写为 dp)」的尺寸单位,以适应不同分辨率屏幕的尺寸换算。
目标设备的宽度如果是 375px,按照 750rpx 进行换算,则等于 1rpx = 0.5px
目标设备的宽度如果是 1125px,换算后 1rpx = 1.5px
直接以 iPhone 6 的屏幕尺寸(375×667)用作视觉稿尺寸,1 px = 0.5 rpx;
以 1 px = 1 rpx 的标准,将设计稿尺寸设定为 750×1334。
登录 | 立即注册