一
获取设备信息 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({
//输出动画
})
}
领取专属 10元无门槛券
私享最新 技术干货