前提:
sencha cmd创建好sencha项目,安装好cordova环境。
详细配置过程
sencha:http://docs-origin.sencha.com/cmd/5.x/touch/cmd_app.html
cordova:http://cordova.apache.org/docs/en/5.0.0/guide_cli_index.md.html#The%20Command-Line%20Interface
在项目中cordova/www/index.js绑定对backbutton的事件监控
bindEvents: function(){ document.addEventListener('deviceready', this.onDeviceReady, false); document.addEventListener("backbutton", eventBackButton, false); //返回键 }
对应eventBackButton代码
function eventBackButton(){ //confirm("再点击一次退出!"); window.plugins.toast.showShortBottom('再点击一下返回,将退出私募通。'); document.removeEventListener("backbutton", eventBackButton, false); //注销返回键 //3秒后重新注册 var intervalID = window.setInterval(function(){ window.clearInterval(intervalID); document.addEventListener("backbutton", eventBackButton, false); //返回键 },3000); }
这样设置完后就可以监控到android设备的back按钮事件,防止点击back键后直接退出。
方法中用户的 window.plugins.toast.showShortBottom 是cordova插件,安装地址是https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin
界面间如何在sencha touch中使用back键进行跳转。
sencha touch页面布局逻辑为,Main.js采用card布局,其他子页面动态添加到Main中,如何使用back键进行页面间跳转。这里主要使用card布局的activeitemchange事件,在页面切换时触发此事件,进行back按钮的事件注册。
layout: { type : 'card', animation : 'scroll', listeners : { 'activeitemchange' : function(lay,newActiveItem,oldActiveItem){ var newActiveItemBackHandler; if(newActiveItem){ newActiveItemBackHandler = newActiveItem.backButtonHandler || newActiveItem.config.backButtonHandler; } var oldActiveItemBackHandler; if(oldActiveItem){ oldActiveItemBackHandler = oldActiveItem.backButtonHandler || oldActiveItem.config.backButtonHandler; } if(newActiveItemBackHandler){ // 绑定打开页面的返回按钮事件 document.removeEventListener("backbutton", eventBackButton, false); if(oldActiveItemBackHandler){ document.removeEventListener("backbutton", oldActiveItemBackHandler,false); } document.addEventListener("backbutton", newActiveItemBackHandler, false); }else{ if(oldActiveItemBackHandler){ document.removeEventListener("backbutton", oldActiveItemBackHandler, false); document.addEventListener("backbutton", eventBackButton, false); } } } } }
newActiveItem,oldActiveItem分别对应新页面和旧页面。
在每个页面里可以自定义委托方法,进行页面间逻辑跳转。
backButtonHandler : function(event){ // 防止弹出分享菜单后,back键返回上一页 var socialShareView = Ext.getCmp('_SocialShareView'); if(socialShareView!=null&&!socialShareView.isHidden()){ return true; } // 防止android back键在弹出窗户后返回到上一页 if(Ext.Msg.isHidden()!=null&&!Ext.Msg.isHidden()){ return; } var mainView = Ext.getCmp('_MainView'); var fromView = Ext.getCmp('_EpNeedDetailView').getFromViewString(); if(fromView == "collect"){ // 返回我的收藏 mainView.animateActiveItem(mainView.myCollectView,{type: 'slide', direction: 'right'}); }else{ // 返回首页 var topView = Ext.getCmp('_TopView'); mainView.animateActiveItem(topView,{type: 'slide', direction: 'right'}); } }
这样就可以通过委托方法,控制页面间跳转了。
还需要注意一点,在返回事件委托方法中,要判断一下当前页面有没有Ext.Msg元素,如果有的话需要禁止backButtonHandler的执行。
相关推荐
PhoneGap和Sencha Touch是两种在移动应用开发中广泛使用的框架,它们的结合可以让你创建跨平台的原生感观的Android应用程序。本教程将深入探讨如何利用PhoneGap和Sencha Touch 2.0来构建Android应用。 PhoneGap,现...
本资源包含有:PhoneGap框架简介、phonegap开发入门pdf(英文版)、外加一个phonegap+sencha-touch 的webapp 项目; 运行环境为:eclipse+jdk 1.5,模拟器为2.1。
PhoneGap与Sencha Touch 2是两个非常重要的框架,它们在构建移动终端Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并介绍如何利用它们共同开发高效的移动Web应用。 PhoneGap,现已被Adobe公司收购并...
本文将详细解析"移动端混合开发,sencha_touch+phonegap+android简单架构代码案例",帮助你理解和掌握如何使用Sencha Touch、PhoneGap与Android构建混合应用。 **Sencha Touch** 是一款基于JavaScript的UI框架,...
Sencha Touch是Sencha公司推出的一款专为移动设备设计的JavaScript框架,它提供了丰富的组件库,包括网格、表单、按钮、导航视图等,用于创建具有触摸友好界面的应用。Sencha Touch的设计理念是提供与原生应用相媲美...
标题提到的"PhoneGap+javascript+html5 扫描二维码"是指利用PhoneGap框架,结合JavaScript和HTML5的特性来实现二维码扫描功能。在移动应用中,二维码扫描是非常实用的功能,可以用于快速数据交换、链接跳转、会员...
Sencha Touch 和 Cordova(PhoneGap)是两个在移动应用开发中广泛使用的框架。Sencha Touch 是一个专门用于创建触屏设备上的富交互应用的JavaScript库,提供了丰富的UI组件和强大的数据管理功能。Cordova(PhoneGap...
### PhoneGap性能优化及PhoneGap + AngularJS + Ionic移动App开发介绍 #### 一、PhoneGap性能优化 **1.1 PhoneGap简介** - **定义:** PhoneGap是一个开放源码项目,它允许开发者使用HTML、CSS和JavaScript这些Web...
在PhoneGap应用中,为了处理服务器的响应,我们需要在$.ajax调用中设置dataType为"json",因为大多数现代API都倾向于以JSON格式返回数据。然后,在success回调中,我们可以根据服务器返回的状态更新UI,例如显示登录...
《Sencha Touch in Action》是一本关于使用Sencha Touch进行跨平台移动开发的书籍,它详细介绍了Sencha Touch框架的使用方法和技巧。Sencha Touch是一个利用HTML5、CSS3和JavaScript创建移动Web应用程序的框架,它是...
在这个"phonegap+jqueryMobilejs源码项目"中,我们可以期待看到以下关键知识点: 1. **PhoneGap环境搭建**:首先,我们需要安装PhoneGap的开发环境,包括Node.js、Apache Cordova和对应的平台SDK(如Android SDK或...
Android Phonegap+HTML5+CSS3+jQuer简单界面模板示例及源码.zip源码资源下载Android Phonegap+HTML5+CSS3+jQuer简单界面模板示例及源码.zip源码资源下载
总的来说,"phonegap+websocket+tomcat实现移动终端推送功能"项目涉及到的技术栈包括前端的PhoneGap应用开发、WebSocket的JavaScript客户端实现、后端的Tomcat服务器配置以及WebSocket的Java服务端编程。通过这一...
【标题】:“Android + PhoneGap + jQuery Mobile” 这个项目标题揭示了一个使用三种技术栈构建的移动应用程序:Android、PhoneGap和jQuery Mobile。Android是Google主导的开源操作系统,主要用于智能手机和平板...
5. **config.xml**:在Sencha Touch中,这个文件可能用于配置应用程序的元数据,比如应用的名称、版本、图标、启动画面等,通常是针对PhoneGap或Cordova这样的混合应用开发环境。 6. **resource**:这个文件夹可能...
PhoneGap+jQueryMobile开发Android应用实例,搭建开发环境
HTML5+PhoneGAP+JQM门店源代码框架。 未完成,包括后台JSON部分。自己查找,后来我屏蔽掉了,但是效果是好的,由于模拟器太慢了,最后屏蔽了,但是代码可用。 开发环境Dreamweaver cs5.5.后台ASP.NET。
在这个"PhoneGap+jQuery Mobile汇率计算器"项目中,首先,我们需要创建一个基本的HTML结构,包含必要的页面元素,如输入框(用于输入金额)、下拉菜单(选择货币类型)、按钮(执行计算)以及显示结果的区域。...
例如,使用`<div data-role="page">`定义一个页面,`<div data-role="header">`和`<div data-role="footer">`创建头部和尾部,`<a data-role="button">`定义按钮等。 5. **实现功能**:利用JavaScript和jQuery ...
在这个“phonegap+jqueryMobile例子”中,我们将深入探讨这两个工具如何协同工作,以及如何利用它们创建Android应用程序。 PhoneGap是一个开源框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用。...