`
Mr.Joe
  • 浏览: 136859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sencha touch中处理Android返回按钮事件

阅读更多
应用中只有一个NavigationView的情况:
// 处理一下android返回按钮
		document.addEventListener("deviceready", onDeviceReady, false);

		function onDeviceReady() {
			document.addEventListener("backbutton", onBackKeyDown, false);
		}

		function onBackKeyDown() {
			var canPop = false;
			var id = Ext.Viewport.getActiveItem().id;
			if (id.indexOf("login") != -1) {
			} else if (id.indexOf("mainview") != -1) {
				var mainview = Ext.Viewport.getActiveItem();
				var length = mainview.getItems().length;
				if (length > 2) {
					canPop = true;
				}
			}
			if (canPop) {
				console.log("canPop");
				ChinaFertilizer.app.getController("MainController").pop(1);
			} else {
				Ext.Msg.confirm("提示", "您确定要退出应用吗?", function(e) {
					if (e == "yes") {
						navigator.app.exitApp();
					}
				}, this);
			}

		}



在Ext.tab.Panel下有多个NavigationView的情况:
// 处理一下android返回按钮
		document.addEventListener("deviceready", onDeviceReady, false);

		function onDeviceReady() {
			document.addEventListener("backbutton", onBackKeyDown, false);
		}

		function onBackKeyDown() {
			var item = Ext.Viewport.getActiveItem();
			var id = item.id;
			if (id.indexOf("mainView") != -1) {
				 var mainview = Ext.Viewport.getActiveItem();
//				 var mainview = Ext.getCmp('moreView').getActiveItem();
				 var length = mainview.getActiveItem().getItems().length;
				 console.log("length = " + length);
				 if(length > 2){
					 if(app.viewId == 0){
						 app.getController("phone.MyAppControllerP").pop(1);
					 }else if(app.viewId == 1){
						 app.getController("phone.TodoControllerP").pop(1);
					 }else if(app.viewId == 2){
						 app.getController("phone.AppCenterControllerP").pop(1);
					 }else if(app.viewId ==3){
						 app.getController("phone.MoreControllerP").pop(1);
					 }
				 }else{
					 if (typeof WL === 'undefined') {
						 Ext.Msg.confirm("提示", "您确定要退出应用吗?", function(e) {
							 if (e == "yes") {
								 navigator.app.exitApp();
							 }
						 }, this);
					 } else {
						 WL.SimpleDialog.show("提示", "您确定要退出应用吗?", [ {
							 text : "确定",
							 handler : function() {
								 navigator.app.exitApp();
							 }
						 }, {
							 text : "取消",
							 handler : function() {
							 }
						 } ]);
					 }
					 
				 }
			 }else{
				 if (typeof WL === 'undefined') {
					 Ext.Msg.confirm("提示", "您确定要退出应用吗?", function(e) {
						 if (e == "yes") {
							 navigator.app.exitApp();
						 }
					 }, this);
				 } else {
					 WL.SimpleDialog.show("提示", "您确定要退出应用吗?", [ {
						 text : "确定",
						 handler : function() {
							 navigator.app.exitApp();
						 }
					 }, {
						 text : "取消",
						 handler : function() {
						 }
					 } ]);
				 }
			 }
0
0
分享到:
评论

相关推荐

    sencha touch list demo

    在“sencha touch list demo”中,我们主要关注的是Sencha Touch中的列表(List)组件,这是一个核心且常用的组件,用于展示数据集合。 1. **Sencha Touch 框架概述** Sencha Touch 是一个基于JavaScript的框架,...

    Sencha Touch开发的项目《般若人生》源码

    4. **触摸事件处理**:优化了触摸事件的处理,使得在触屏设备上操作流畅自然。 5. **布局系统**:灵活的布局系统使得组件可以根据屏幕尺寸自适应,适应不同设备的显示需求。 6. **动画效果**:内置丰富的动画效果...

    senchaTouch和fusioncharts结合的实例

    你可以结合Sencha Touch 的事件系统,监听并处理这些事件,实现更丰富的用户交互。 7. **更新图表**:如果数据发生变化,可以使用FusionCharts的`updateChart()` 方法动态更新图表内容。 通过以上步骤,你就能在...

    api.zip_sencha _sencha touch api_sencha touch2 api

    标题中的"api.zip_sencha _sencha touch api_sencha touch2 api"表明这是一个关于Sencha Touch API的压缩文件集合,可能包含了Sencha Touch和Sencha Touch 2两个版本的API文档。 **Sencha Touch基础知识** Sencha ...

    Sencha Touch 2.4.1

    文件名称"touch-2.4.1"很可能包含了Sencha Touch 2.4.1的所有源代码和相关资源,包括文档、示例、库文件等,这对于深入学习和自定义框架非常有用。开发者可以通过解压这个文件,查看源码了解其工作原理,或者利用...

    sencha touch

    在给定的内容中提到“对于 sencha touch 我也是刚接触的,我觉得这个东西,会成为未来的主流,所以我想学习它!”这反映了作者对 Sencha Touch 的积极态度以及对未来趋势的看法。确实,随着移动互联网的发展,越来越...

    Sencha Touch 2入门教程之MVC例子程序源代码

    Sencha Touch 2是一款专为移动设备设计的前端框架,它允许开发者构建功能丰富的、响应式的Web应用程序,可运行在iOS、Android等多平台。在本教程中,我们将深入探讨Sencha Touch 2中的MVC(Model-View-Controller)...

    sencha touch camera MVC模式

    在Sencha Touch中创建相机组件时,可以利用现有的UI组件如按钮、图像视图等来设计用户界面。用户界面应简洁易用,明确指示用户如何启动相机、拍照以及查看拍摄的照片。 7. **照片处理**: 拍照后,可能需要对照片...

    sencha touch 2.3.1a

    - **触摸事件处理**:框架专门优化了对触摸事件的支持,确保在触摸设备上的操作响应流畅。 - **路由系统**:内置的路由系统允许开发者轻松管理应用的导航和状态。 - **本地存储**:Sencha Touch支持Web Storage和...

    senchaTouch+PhoneGap

    Sencha Touch是Sencha公司推出的一款专为移动设备设计的JavaScript框架,它提供了丰富的组件库,包括网格、表单、按钮、导航视图等,用于创建具有触摸友好界面的应用。Sencha Touch的设计理念是提供与原生应用相媲美...

    SenchaTouch

    在标签"SenchaTouch"中,我们可以挖掘出以下关键知识点: 1. **组件化开发**:Sencha Touch 提供了丰富的UI组件,如按钮、表单、面板、列表等,开发者可以通过组合这些组件快速构建界面。每个组件都有丰富的配置...

    Sencha Touch Mobile JavaScript Framework

    尽管在该书出版后不久Sencha Touch 2.0就已经发布,但书中涉及的许多概念和技术依然具有很高的参考价值。通过学习本书,读者可以了解到框架的核心概念、设计理念以及如何构建高效的移动Web应用。 #### 三、Sencha ...

    sencha-touch 移动开发

    3. **触摸事件支持**:Sencha Touch 优化了对触摸事件的处理,提供了一套完整的手势识别系统,使得在移动设备上的交互体验更加流畅。 4. **响应式设计**:框架内置了适应不同屏幕尺寸和方向的能力,确保应用在各种...

    phonegap与sencha touch2的js库

    同时,合理使用CSS3硬件加速和优化触摸事件处理也是提升性能的关键。 总的来说,PhoneGap和Sencha Touch 2的结合为移动Web应用开发提供了一种高效且灵活的解决方案。通过它们,开发者可以构建出既具有丰富界面又...

    sencha-touch-2.1.1-gpl.zip

    9. **社区支持**:Sencha Touch拥有庞大的开发者社区,提供了丰富的文档、示例代码、教程和问答资源,有助于解决开发过程中的问题。 10. **GPL许可证**:此版本遵循GPLv3开源协议,意味着任何人都可以免费使用、...

    sencha touch 2.0 开发包 最新版

    其核心特性包括响应式布局、触摸事件处理、组件丰富的UI库等,使得开发人员能够在iOS、Android、BlackBerry等多平台上实现一致的用户体验。 标题中的“最新版”意味着这个开发包包含了Sencha Touch 2.0的所有最新...

    SenchaTouchToast:专为 Sencha Touch 制作的 Android 风格 Toast 通知

    该插件旨在从 Android 重新创建 Toast 通知,以便在 Sencha Touch 应用程序中使用。 这个插件允许 Toast 像在 Android 中一样被多次调用,它会排队。 此外,它还允许在 Toast 上使用自定义操作按钮,例如UNDO 。 ...

    移动端混合开发,sencha_touch+phonegap+android简单架构代码案例

    本文将详细解析"移动端混合开发,sencha_touch+phonegap+android简单架构代码案例",帮助你理解和掌握如何使用Sencha Touch、PhoneGap与Android构建混合应用。 **Sencha Touch** 是一款基于JavaScript的UI框架,...

Global site tag (gtag.js) - Google Analytics