vue+hbuilder监听安卓返回键问题

1.监听安卓返回键问题

效果:在一级页面按一下返回键提示退出应用,按两下退出应用;在其它页面中,按一下返回上个历史页面


1

2

import mui from ‘./assets/js/mui.min.js‘

Vue.prototype.$mui = mui;

在一级页面mounted时

 1 this.$mui.plusReady( () =>{
 2 var backcount = 0;
 3 this.$mui.back = ()=> {
 4 if (this.$mui.os.ios) return;
 5 if (backcount > 0) {
 6 if (window.plus) plus.runtime.quit();
 7 return;
 8 };
 9 this.$layer.msg(‘再点击一次退出应用!‘)
10 backcount++;
11 setTimeout( () =>{
12 backcount = 0;
13 }, 2000);
14 };
15 })

 在其它页面mounted时

1 this.$mui.plusReady(() => {
2 this.$mui.back = () => {
3 this.$router.go(-1);
4 };
5 });

在每次组件加载时都重写一下返回按钮的事件,如果不重写,此页面就会使用上个页面中定义的返回事件,这个事件可能是退出app也可能是返回上次历史页面,这样就会造成事件冲突,所以在每次组件加载时都重写返回事件.

2.键盘弹起会把固定在底部的导航顶上去

data() {
    return {
      docmHeight: document.documentElement.clientHeight, //默认屏幕高度
      showHeight: document.documentElement.clientHeight, //实时屏幕高度
      hidshow: true //显示或者隐藏footer
    };
  },
  mounted() {
    // window.onresize监听页面高度的变化
    window.onresize = () => {
      return (() => {
        this.showHeight = document.body.clientHeight;
      })();
    };
  },
  watch: {
    showHeight: function() {
      if (this.docmHeight > this.showHeight) {
        this.hidshow = false;
      } else {
        this.hidshow = true;
      }
    }
  }

注意document要撑满屏幕高度!

参考地址:https://www.jianshu.com/p/210fbc846544

3.切换页面的转场效果使用:vueg

参考网址:https://github.com/jaweii/vueg

4.上拉加载下拉刷新使用:mescroll

参考网址:http://www.mescroll.com/

5.设置沉浸式

配置manifest.json
"plus": {
    "statusbar": {
        "immersed": true
    },

    "google": {
        "immersedStatusbar": true,
    }
}

获取状态栏高度,可以使用mui提供的方法,也可以使用js  :  window.screen.height - window.innerHeight,

然后把这个高度给顶部导航和某些页面加上上边距就行了

原文地址:https://www.cnblogs.com/wordblog/p/10205798.html

时间: 2024-10-26 19:36:41

vue+hbuilder监听安卓返回键问题的相关文章

JS监听手机返回键

JS监听手机返回键,需要用些前端的"奇技淫巧". 核心代码如下: if (window.history && window.history.pushState) { $(window).on('popstate', function() { var hashLocation = location.hash; var hashSplit = hashLocation.split("#!/"); var hashName = hashSplit[1];

监听浏览器返回键、后退、上一页事件(popstate)操作返回键

在WebApp或浏览器中,会有点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面.确认离开页面或执行一些其它操作的需求.可以使用 popstate 事件进行监听返回.后退.上一页操作. 一.简单介绍 history 中的操作 1.window.history.back(),后退 2.window.history.forward(),前进 3.window.history.go(num),前进或后退指定数量历史记录 4.window.history.pushState(state, t

Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键

在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back).菜单键(Menu)及Home键. 1.拦截/屏蔽返回键.菜单键实现代码 @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键   

(七)android 通知对话框,并且监听了返回键,当按下返回键也会创建一个对话框

一.activity_main.java中代码   1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="matc

JS使用 popstate 事件监听物理返回键

pushHistory();        window.addEventListener("popstate", function (e) {            if (orderid != "") {                window.location.href = "/wap/self/orderinfo.aspx?id=" + orderid; //此处可改为任意地址            } else {         

使用ionic开发时用遇到监听手机返回按钮的问题~

当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面: 其实用ionic自带的服务就可以解决:  //双击退出   $ionicPlatform.registerBackButtonAction(function (e) {   //判断处于哪个页面时双击退出    if($location.path() =='/message' || $location.path() =='/work' || $location.path(

mui 监听安卓手机物理返回按键及一些常见的配置

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="css/mui.css"/> <style type="text/css"> .mui-

监听 手机back键和顶部的回退

// 回退事件,监听 手机back键和顶部的回退 pushHistory(); window.addEventListener("popstate", function(e) { window.location = '/index.php?m=mobile&c=slimmessage&a=slimsilkbag'; }, false); function pushHistory() { var state = { title: "title", ur

9.Vue.js 监听属性

本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化. 以下实例通过使用 watch 实现计数器: <div id = "app"> <p style = "font-size:25px;">计数器: {{ counter }}</p> <button @click = "counter++" style = "font-size:25px;&