Adobe
产品
Acrobat
Creative Cloud
创意套装
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
更多产品
解决方案
数字营销
数字媒体
教育
金融服务业
政府部门
网页体验管理
更多解决方案
学习帮助下载公司
商店
在线商店
批量许可
查找经销商
搜索
 
信息 登录
欢迎,我的支持
我的帐户
注销
为何登录?登录后可以管理您的帐户,访问试用版下载、产品扩展和社区区域等。
Adobe
产品 分类 购买   搜索  
解決方案 公司
学习
登录 注销 我的货物 我的支持
Date Date
Qty:
Subtotal
Checkout
Adobe 开发者中心 / Adobe AIR 开发人员中心 / AIR Quick Starts for ActionScript developers /

捕捉软键输入

作者 Sunil Bhaskaran

Sunil Bhaskaran

Content

  • 处理软键事件(soft key events)
  • Home软键
  • 更多的了解

已修改

10 October 2011

页面工具

在 Facebook 上共享
在 Twitter 上共享
在 LinkedIn 上共享
书签
打印

Tags

要求

必备知识

熟悉ActionScript3

 

额外要求:

  • 一个移动设备,能支持Android2.2或者更高版本
  • Android SDK

用户级别

中级

必需产品

  • Flash Builder (下载试用版)
  • Flash Professional CS5 (下载试用版)

范例文件

  • SoftKeysTest.zip
  • SoftKeysTest-android-apk.zip

在Adobe AIR的应用程序中,当一个指定的活动发生时,一个事件就会被调用。例如, 当你按下或松开键盘上的一个按键时,Adobe AIR就会生成一个keyboard事件。每一个键都会被指定一个单一的key code。Adobe AIR将这种支持扩展到移动设备上所使用的软键盘,如:Back, Menu, 和 Search。

在这片文章里,你将学习如何处理软键事件(soft key events)。

处理软键事件(soft key events)

当你点中任何一个软键时,NativeApplication对象就会调用键盘事件:KeyboardEvent.KEY_DOWN。 当你松开软键时,NativeApplication就会调用事件:KeyboardEvent.KEY_UP。当你开发一个应用程序时,你可以处理这些事件,并给出针对这些键的相应的行为。

举个例子,假设你在一个手机应用程序中有大量的记录。当你按下Back键,你想看记录中前面的一部分。在默认情况下,当你在一个Android设备上按下 Back键时,当前的Adobe AIR应用程序就会跑到后台,手机会激活前一个活动的应用程序。处理由于点击Back键而产生的键盘事件会使你能够阻止这种默认行为,通过编程使得应用程序按照你的思路进行。

注意: 当你想取消BACK键所产生的默认行为时,你必须处理KeyDown事件。KeyUP事件在事件链中发生的太晚了。

你可以在NativeApplication对象上监听键盘事件。使用下面的表述来为code>keyDown 事件添加一个监听器:

NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN,checkKeypress);

在下面的例子中,checkKeypress函数描述了 你是如何测试被调用的KeyboardEvent对象来确定哪个键被按了。这个函数用了一个switch表达式,来为被按的软键提供指定行为。其他的按键则被忽略。

public function CheckKeypress(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.BACK: event.preventDefault(); trace("Back key is pressed."); break; case Keyboard.MENU: trace("Menu key is pressed."); break; case Keyboard.SEARCH: trace("Search key is pressed."); break; } }

当设计你的应用程序时,有件事非常重要,那就是处理软键的方法要与平台上本地应用程序的处理方法保持一致。否则,当你的应用程序表现的与用户期待的不一样时,他们会很沮丧。例如,在Android平台上,Back键用来返回到该应用程序的前一个视窗(view),直到你回到初始的那个视窗。在这个初始视窗上,再一次按Back键会关闭当前的应用程序并激活前一个应用程序,或者回到手机的主屏。在一个Adobe AIR应用程序里,你必须跟踪应用程序的状态,目的是模拟本机行为。如果你不做任何事,那么Back键将会关闭你的应用程序,不论它在何种状态或者视窗里。

Home软键

当Home键被按下时,没有任何键盘事件被调用。你的应用程序会被关闭,而这是不能被阻止的。然而,NativeApplication对象确实是调用了一个关闭事件。在这个关闭事件的处理程序中,你应该采取以下措施来保存电量,并为可能的终止做准备:

  • 保存应用程序状态
  • 从Accelerometer和 Geolocation对象中移除事件监听器
  • 停止音频播放
  • 减缓应用程序的帧频

注意:AIR会自动减缓后台应用程序的帧频率到每秒四帧。如果你的应用程序不需要持续的网络链接时,你可以将帧频设置为.01来更多的节省电量。

要恢复一个应用程序,你可以使用激活事件(activate event)或者 唤醒事件(invoke event)。一个激活事件(activate event)会被调用的条件是:当你的应用程序从后台跑到前台时,而不是当你的应用程序被初始化加载时。一个唤醒事件(invoke event)被调用的条件是:当你的应用程序被放到前台,而且还可以是当它被初始化加载时。

更多的了解

在这篇文章中,你学习了如何处理软键事件。更多的信息,请参考在线文档Basics of handlingevents。

More Like This

  • Capturing video input in a mobile AIR application
  • 使用StageWebView类
  • 在手机应用程序上使用tel: and sms: URI

产品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • 移动应用程序
  • Photoshop
  • Touch Apps

解决方案

  • 数字营销
  • 数字媒体
  • 网页体验管理

行业

  • 教育
  • 金融服务业
  • 政府部门

帮助

  • 产品帮助中心
  • 订货和退货
  • 下载和安装
  • 我的 Adobe

学习

  • Adobe 开发人员连接
  • Adobe TV
  • 培训和认证
  • 论坛
  • 设计中心

购买方式

  • 在线商店
  • 批量许可
  • 查找经销商

下载

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

公司

  • 新闻编辑室
  • 合作伙伴计划
  • 公司社会责任
  • 工作机会
  • 投资者关系
  • 事件
  • 法律
  • 安全
  • 联系 Adobe
选择您的地区 中国(更改)
选择您的地区 关闭

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

使用条款 | 隐私政策和 Cookies (更新)

京 ICP 备 10217899 号 京公网安备 110105010404