目前市面上的用户设备大致可分为小屏的手机端、中屏的平板、大屏的 PC 端三类,而在这三类设备中又会有细小的尺寸差别,也称作屏幕碎片化。
随着小程序能够在越来越多的设备终端上运行,开发者也应该针对不同的屏幕尺寸进行相应的适配。
关于如何在设计、用户体验上实现更好的多端适配小程序,可参考小程序适配设计指南。
按照一般的适配原则,结合小程序特点,通常在以下三种情况中需要进行适配:
同一类设备下,尺寸有细微差别
使用小程序提供的 rpx 单位,在尺寸差别不大的情况下对页面布局进行等比缩放。
在允许屏幕旋转的情况下,可分为横屏与竖屏
手机端设置 "pageOrientation": "auto"
或 iPad 上设置 "resizable": true
时会允许屏幕旋转,此时使用 Page 的 onResize
事件或者 wx.onWindowResize
方法可对该操作进行监听,进而判断是使用横屏还是竖屏布局。
不同类设备或者能够自由拖拽窗口的 PC 小程序
小程序目前是基于 Webview 实现,利用 CSS 媒体查询可实时监听屏幕尺寸大小,在不同的屏幕下展现不同的 UI 布局,结合 Flex 弹性布局、Grid 网格布局便能实现更加响应式的适配方案。