首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取设备信息 API,navigation API,animation API……

获取设备信息 API

获取设备信息这里分为四种,

主要属性:

网络信息 wx.getNetWorkType,

系统信息 wx.getSystemInfo,

重力感应数据 wx.onAccelerometerChange,

罗盘数据 wx.onCompassChange

wxml

获取网络类型

获取设备信息

监听重力感应数据

监听罗盘数据

js

Page({

data:{

text:"Page system"

},

onLoad:function(options){

页面初始化 options 为页面跳转所带来的参数

},

/**

获取当前网络状态

*/

getNetWorkType: function() {

wx.getNetworkType({

success: function(res) {

console.log(res)

}

})

},

/**

获取系统信息

*/

getSystemInfo: function() {

wx.getSystemInfo({

success: function(res) {

console.log(res)

}

})

},

/**

监听重力感应数据

- 带 on 开头的都是监听接收一个 callback

*/

onAccelerometerChange: function() {

wx.onAccelerometerChange(function(res) {

console.log(res)

})

},

/**

监听罗盘数据

*/

onCompassChange: function() {

wx.onCompassChange(function(res) {

console.log(res)

})

},

onReady:function(){

页面渲染完成

},

onShow:function(){

页面显示

},

onHide:function(){

页面隐藏

},

onUnload:function(){

页面关闭

}

})

navigation API

演示效果也看到了小程序也就提供这几个处理导航控制。值得注意的是只能同时导航五个页面

主要属性:

导航条一些方法

wx.setNavigationBarTitle(object)  设置导航条的 Title

导航标题可以通过三种方式设置,第一种是通过全局配置名字统一,第二种就是在 page 中新建个 json 文件配置它会覆盖全局配置的 title,第三种就是通过 API 设置。

wx.showNavigationBarLoading()设置在导航条上显示 Loading 加载状态

wx.hideNavigationBarLoading()  隐藏 Loading 加载状态

导航视图的一些方法

wx.navigateTo() 保留当前页面进行跳转,传参时就像拼接 GET 参数一样即可,代码中会有体现

wx.redirectTo() 销毁当前页面进行跳转,

wx.navigateBack() 返回上一个页面

wxml

设置 navigationBarTitle

设置 navigationBarLoading 加载状态

隐藏 navigationBarLoading 加载状态保留当前页跳转

不保留当前页面跳转退回到上一个页面

json

{

"navigationBarTitleText": "我是通过 json 配置的 title"

}

js

//导入另一个页面

var file = '../audio/audio'

Page({

data:{

text:"Page navigation"

},

onLoad:function(options){

页面初始化 options 为页面跳转所带来的参数

},

/**

* 设置 NavigationTitle

*/

setNavigationBarTitle: function() {

wx.setNavigationBarTitle({

title: '我是通过 API 设置的 NavigationBarTitle'

})

},

/**

设置加载状态

*/

showNavigationBarLoading: function() {

wx.showNavigationBarLoading()

},

/**

隐藏加载状态

*/

hiddenNavigationBarLoading: function() {

wx.hideNavigationBarLoading()

},

/**

保留当前 Page 跳转

*/

navigateTo: function() {

wx.navigateTo({

//传递参数方式向 get 请求拼接参数一样

url: file + '?phone=18939571&password=1992',

success: function(res) {

console.log(res)

},

fail: function(err) {

console.log(err)

}

})

},

/**

关闭当前页面进行跳转当前页面会销毁

*/

redirectTo: function() {

wx.redirectTo({

//传递参数方式向 get 请求拼接参数一样

url: file + '?phone=189395719&password=1992'

})

},

/**

退回到上一个页面

*/

navigateBack: function() {

wx.navigateBack()

},

onReady:function(){

页面渲染完成

},

onShow:function(){

页面显示

},

onHide:function(){

页面隐藏

},

onUnload:function(){

页面关闭

}

})

animation API

动画水还是比较深的,这里只是简单介绍下小程序中动画的一些属性和注意事项,做动画前一定要整理好思路将动画一步步分解,再进行组合!这里只做引入。

wx.createAnimation(object)

看官方介绍

1.创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。

2.调用动画操作方法后要调用 step() 来表示一组动画完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。step 可以传入一个跟 wx.createAnimation() 一样的配置参数用于指定当前组动画的属性

第二条比如缩放动画,也就说是一组 scale,scaleX, scaleY…为一缩放动画组的一个动画方法,缩放动画组和旋转动画组通过 step()链接,按顺序执行。代码中体验吧!看效果反过来看会更容易理解

主要属性:

这里主要树下 timingFunction 和 transformOrigin

timingFunction  设置动画效果

linear 默认为 linear 动画一直较为均匀

ease 开始时缓慢中间加速到快结束时减速

ease-in 开始的时候缓慢

ease-in-out 开始和结束时减速

ease-out 结束时减速

step-start 动画一开始就跳到 100% 直到动画持续时间结束 一闪而过

step-end 保持 0% 的样式直到动画持续时间结束 一闪而过

transformOrigin  设置动画的基点 默认%50 %50 0

left,center right 是水平方向取值,对应的百分值为 left=0%;center=50%;right=100%

top center bottom 是垂直方向的取值,其中 top=0%;center=50%;bottom=100%

动画组及动画方法

样式:

旋转:

缩放:

偏移:

倾斜:

矩阵变形:

演示单个动画组效果

wxml

我在做动画

旋转

js

Page({

data:{

text:"Page animation",

animation: ''

},

onLoad:function(options){

页面初始化 options 为页面跳转所带来的参数

},

onReady:function(){

页面渲染完成

//实例化一个动画

this.animation = wx.createAnimation({

动画持续时间,单位 ms,默认值 400

duration: 1000,

/**

http://cubic-bezier.com/#0,0,.58,1

linear  动画一直较为均匀

ease    从匀速到加速在到匀速

ease-in 缓慢到匀速

ease-in-out 从缓慢到匀速再到缓慢

*

http://www.tuicool.com/articles/neqMVr

step-start 动画一开始就跳到 100% 直到动画持续时间结束 一闪而过

*step-end保持 0% 的样式直到动画持续时间结束一闪而过

*/

timingFunction: 'linear',

延迟多长时间开始

delay: 100,

/**

以什么为基点做动画  效果自己演示

left,center right 是水平方向取值,对应的百分值为 left=0%;center=50%;right=100%

top center bottom 是垂直方向的取值,其中 top=0%;center=50%;bottom=100%

*/

transformOrigin: 'left top 0',

success: function(res) {

console.log(res)

}

})

},

/**

旋转

*/

rotate: function() {

//顺时针旋转 10 度

//

this.setData({

//输出动画

})

},

onShow:function(){

页面显示

},

onHide:function(){

页面隐藏

},

onUnload:function(){

页面关闭

}

})

演示多个动画组效果

这里我们只需要更改以下代码即可

/**

旋转

*/

rotate: function() {

//两个动画组 一定要以 step()结尾

/**

动画顺序 顺时针旋转 150 度>x,y 放大二倍>x,y 平移 10px>x,y 顺时针倾斜>改变样式和设置宽度宽度

*/

this.setData({

//输出动画

})

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200918A0HQ2E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券