APICloud常用的API事件
·
1.api.safeArea.top
通过safeArea能够知道当前页面哪些地方被遮住,从而做出相应的调整,保证页面重要元素不被遮挡住。
比如应对顶部header被状态栏遮住一部分,可以为header增加一个paddingTop,如:
header.style.paddingTop = api.safeArea.top + 'px';
在比如在iPhone X上面,底部的导航菜单会被虚拟Home键遮住一部分,可以为footer增加一个paddingBottom,如:
footer.style.paddingBottom = api.safeArea.bottom + 'px';
2.apiready
此事件是在api对象准备完毕后产生,在每个Window或Frame的HTML代码中都需要监听此事件,以确定APICloud扩展对象已经准备完毕,可以调用了。
window.apiready = function () {
};
//或者
window.apiready = () => {
};
3.keyback
设备 back 键被点击事件,仅 Android 平台有效,字符串类型
api.addEventListener({
name: 'keyback'
}, function(ret, err) {
alert('按了返回键');
});
//或者
// 监听安卓返回按钮
api.addEventListener({
name: "keyback",
}, () => {
this.save();
});
4.offline
监听设备断开网络的事件,字符串类型
api.addEventListener({
name:'offline'
}, function(ret, err){
alert('断网了');
});
//或者
api.addEventListener({
name: "offline",
}, () => {
api.toast({ msg: "网络链接失败" });
});
5.online
监听设备连接到网络的事件,字符串类型
api.addEventListener({
name:'online'
}, function(ret, err){
alert('已连接到网络');
})
//实例
api.addEventListener({
name: "online",
}, (res) => {
const state = res.connectionType.toLowerCase(); // 当前网络连接类型
let time;
let time2;
switch (state) {
case "wifi":
api.toast({ msg: "网络链接成功" });
break;
case "4g":
api.toast({ msg: "网络链接成功" });
break;
case "3g":
api.toast({ msg: "当前网速较慢 请检查网络" });
break;
case "2g":
api.toast({ msg: "当前网速不稳定 请检查网络" });
break;
default:
break;
}
});
6.longpress
Window 或者 Frame 的页面全局长按事件,字符串类型
api.addEventListener({
name:'longpress'
}, function(ret, err){
alert('长按了页面');
});
//实例
api.addEventListener({ // 测试是否长按了页面
name: "longpress",
}, () => {
// 移除事件
api.removeEventListener({
name: "longpress",
});
});
7.viewappear
Window 显示到屏幕的事件,字符串类型。收到 viewappear 事件回调,即标识当前 Window 已经动画结束,并且完全显示到屏幕上。该事件的作用对象为 Window,Frame 的显示不会收到事件
api.addEventListener({
name:'viewappear'
}, function(ret, err){
alert('window显示');
});
//实例
/**
* 回到页面显示音频
*/
api.addEventListener({
name: "viewappear",
}, () => {
this.audioInfo.showAudio = true;
});
8.keyboardshow
系统键盘弹出的回调,只支持iOS,字符串类型
api.addEventListener({
name:'keyboardshow'
},function(ret, err){
api.alert({
//ret.h键盘高度,数字类型
msg:ret.h
});
});
//实例
api.addEventListener({
name: "keyboardshow",
}, (ret) => {
// 如果高于输入框,则不做考虑
if (api.frameHeight - this.popUpPos - this.headerHeight
- this.headerMarginTop - ret.h > 0) {
return;
}
api.setFrameAttr({
rect: {
y: this.popUpPos - ret.h,
},
});
});
9.keyboardhide
系统键盘隐藏的回调,只支持iOS,字符串类型
api.addEventListener({
name:'keyboardhide'
},function(ret, err){
api.alert({
msg:'键盘隐藏'
});
});
//或者
api.addEventListener({
name: "keyboardhide",
}, () => {
api.alert({
msg:'键盘隐藏'
});
});
},
更多推荐



所有评论(0)