小程序大屏适配指南
简介
本文 CodeLabs 将聚焦在大屏设备展示适配规则和能力接入部分。
说明
本能力目前处于灰度阶段,线上用户部分可见,将在能力推全后移除本说明。
适配效果展示
容器样式
默认样式:小程序内容居中两侧留白,可绘制区域尺寸按手机设备通用尺寸等比拉伸,保证小程序内容兜底展示样式。
进阶样式:小程序内容居中两侧留白,提供宽屏的内容绘制区域,开发者可通过平台适配工具在大屏设备上进行更丰富的内容呈现。
页面尺寸规则
| 设备宽度 | [0, 599] | [600, 703] | [704, 1023] | 1024+ |
默认方案 | 适配规则 | 充满屏幕 | 页面高度:充满屏幕 页面宽度= min( 屏幕宽度, 屏幕高度 * 375 / 812 ) | 页面高度:充满屏幕 页面宽度= min( 屏幕宽度, 屏幕高度 * 375 / 812 ) | 页面高度:充满屏幕 页面宽度= min( 屏幕宽度, 屏幕高度 * 375 / 812 ) |
示意图 | |||||
进阶方案 | 适配规则 | 充满屏幕 | 充满屏幕 | 页面高度:充满屏幕 页面宽度= 540 | 页面高度:充满屏幕 页面宽度= 620 |
示意图 |
进阶模式开关
开启进阶模式
{ "resizable": true }
rpx布局
监听页面尺寸变化
Page({ onResize(res) { res.windowHeight; // 新的显示区域高度 res.windowWidth; // 新的显示区域宽度 res.screenRatio; // 全屏及分屏状态 res.interactive; // 当前页面是在拖动中/停止拖动 res.orientation; // 当前页面屏幕朝向 }, });
match-media
tt.matchMedia
MediaQueryObserver
MediaQueryObserver 为媒体查询监听器。在页面或组件中使用
this.createMediaQueryObserver()
函数,获取 MediaQueryObserver 实例,用于进行页面媒体查询(Media query)。详见 MediaQueryObserver。
栅格化布局组件:row/col