小程序 开启设备旋转以及监听、开启大屏分栏

本文详细介绍了微信小程序中如何启用屏幕旋转支持,包括在手机和iPad上的设置,以及监听屏幕旋转和设备方向变化的方法。同时,还探讨了在分栏模式下小程序的使用注意事项,如占位图片、避免使用某些接口以及路由接口的使用规范。
摘要由CSDN通过智能技术生成
1、在手机上启用屏幕旋转支持
	app.json:window中设置 "pageOrientation": "auto|landscape"		所有页面都可旋转|是横屏
	在页面json文件:"pageOrientation": "auto|landscape" 			指定页面旋转|横屏

2、在iPad上启用屏幕旋转支持、PC小程序是否支持用户任意改变窗口大小(包括最大化窗口)
	在app.json中添加"resizable": true	在iPad上不能单独配置某个页面是否支持屏幕旋转

3、监听旋转
	页面中:
		Page({
		  onResize(res) {
		    res.size.windowWidth // 新的显示区域宽度
		    res.size.windowHeight // 新的显示区域高度
		  }
		})
		
	自定义组件中:
		Component({
		  pageLifetimes: {
		    resize(res) {
		      res.size.windowWidth // 新的显示区域宽度
		      res.size.windowHeight // 新的显示区域高度
		    }
		  }
		})

3.5、监听设备方向
	(1)开始监听设备方向的变化。
		wx.startDeviceMotionListening({
			interval	监听设备方向的变化回调函数的执行频率
				game	适用于更新游戏的回调频率,在20ms/次左右	
				ui		适用于更新UI的回调频率,在60ms/次左右	
				normal	普通的回调频率,在200ms/次左右
			success
			...
		})
		wx.stopDeviceMotionListening({success,...})	停止监听设备方向的变化
	
	(2)监听设备方向变化事件
		频率根据wx.startDeviceMotionListening()的interval参数,可以使用wx.stopDeviceMotionListening()停止监听
			wx.onDeviceMotionChange(function(res){
				alpha	当手机坐标X/Y和地球X/Y重合时,绕着Z轴转动的夹角为alpha,范围值为[0,2*PI)。逆时针转动为正。
				beta	当手机坐标Y/Z和地球Y/Z重合时,绕着X轴转动的夹角为beta。范围值为[-1*PI,PI)。顶部朝着地球表面转动为正。也有可能朝着用户为正。
				gamma	当手机X/Z和地球X/Z重合时,绕着Y轴转动的夹角为gamma。范围值为[-1*PI/2,PI/2)。右边朝着地球表面转动为正。
			})
			
			wx.offDeviceMotionChange(fn)	取消监听
	
启用分栏模式
	在app.json中同时添加 
	{
	  "resizable": true,
	  "frameset": true
	}
	
	(1)分栏占位图片
		当某一栏没有展示任何页面时,会展示一张图片在此栏正中央。
		如果代码包中的frameset/placeholder.png文件存在,这张图片将作为此时展示的图片。
	
	(2)避免使用更改页面展示效果的接口方法
		更改当前页面展示效果的接口,总是对最新打开的页面生效。
		例如:在右栏打开一个新页面后,更改页面标题的接口wx.setNavigationBarTitle即使是在左栏的页面中调用,也将更改右栏内页面的标题
			改用page-meta和navigation-bar组件代替
	
	(3)在路由接口中使用相对路径,总是相对于最新打开的页面路径
		例如:在右栏打开一个新页面后,路由接口wx.navigateTo即使是在左栏的页面中调用,跳转路径也将相对于右栏内页面的路径
			应当将这样的路由接口改成Router接口调用,如this.pageRouter.navigateTo
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值