评论:Android手机的功能键

传统的手机除了数字键盘外,还有很多的功能键,比如接打电话键,挂电话键,确定键,取消键,方向键,等等。在新时代的智能手机当中,有些仍延续了这个传统,Android手机就是代表。

从G1问世以来,现在的Android手机已经上千万部了,五花八门,各式各样。有的有硬键盘,有的只有三个键。经过这几年的发展,现在有硬键盘的已渐渐的被淘汰,目前主流的Android手机只有三到五个外部硬按键,其中一定有的是:MENU键,HOME键和BACK键,有些还有TrackBall轨迹球和SEARCH键。

下面就简单的评析下这几个按键的优缺点:

最没用的键:SEARCH

原因:搜索固然重要,但是HOME上面有Search Widget,每个应用程序的Menu里面也都会有搜索项。所以外部的SEARCH键用的很少很少,所以很多厂商的机型都没有此键。

最无聊的键:TrackBall轨迹球

轨迹球也是实用价值不大的一个东西。滚来滚去的焦点会让人眼花撩乱,开发时的焦点控制更是让开发者痛苦不堪。理论上来讲它应该起来鼠标中间滚轮的作用,但结果完全相反。

MENU键

Android里面的MENU键是一个比较实用的,使用起来很方便,确实会给用户带来方便。它就相当于PC软件中的Menu栏,用来进行一些不同的任务的切换,操作和配置。
还有一个作用就是,长按MENU键会弹出或隐藏SoftKeyboard软键盘。

HOME键

HOME键对于所有支持多任务的智能手机来说都是非常重要的,没有它手机就不能算的上是多任务,所以最受用记喜爱的iPhone, iPad也都有HOME键。有了HOME键,才能随时跳到HOME页面,开启另外一个应用。
对于Android而言,按下HOME键会进入Launcher的HOME页面,当前程序的状态会Pause掉,但当前程序仍在运行,状态会被保存,已弹出来的对话框(用Dialog实现的)和进度条,被保存,当再次进入时会恢复,但弹出的菜单是不会被保存的,比如按MENU弹出的菜单,或长按Context Menu,再次进入时不会保存。
长按HOME也是十分有益的,它会列出最近找开的Task列表(不是应用列表),点击便可跳转。
有些机型也支持双击HOME,与iPhone/iPad不同,不是列出最近打开的应用,而是打开某个用户可以设置的应用。

BACK键

重点说说BACK键。它有几个作用,一个是退出当前页面,返回上一个页面;一个是取消掉对话框,进度条等。长按它还能启动Browser(隐藏的神奇功能)。
但BACK键十分具有迷惑性:
  1. 它只能退出当前页面,而无法退出当前应用
默认Activity的行为是按下BACK后finish()掉Activity,也即杀掉当前Activity,返回上一个。但对于应用程序来讲,它不一定会退出,因为应用程序进行会一直存在直到其所有的组件都退出。如果应用中有Service,BroadcastReceiver等这些生命周期不受按键影响的组件,那么即使所有的前台Activity组件都BACK掉了,应用程序进程仍然会在后台运行。另外,程序也可以自己Handle BACK键,然后以不杀掉前台页面实例的方式返回到前一个页面(如系统自带的Browser和Mms等)。总结一下,BACK只能退出前台可见组件,而无法退出应用。
  1. 它可以Dismiss掉对话框,但不会触发按扭的监听事件
比如有一个对话框,有二个按扭Okay和Cancel,那么在显示对话框时按BACK会Dismiss掉对话框,但不会触发Okay和Cancel中任何一个的OnClickListener。
所以对于某些在退出前台页面有提示对话框的应用,比如人人网,按BACK,会弹出对话框问是否退出,如果再按BACK,对话框被Dismiss掉,仍然停留在先前页面,再按BACK,又弹出对话框,再BACK,又Dismiss对话框。也就是说只按BACK,永远也退出不了这些应用,很是滑稽。
  1. 它可以Dismiss掉进度条,但不会终止所进行的操作
应用在进行某些费时操作,应用显示了一个进度条,或是有明显进度的(x%),还是没有进度的(只有圈圈在转),按了BACK,进度条消失了,在用户的理解,操作应该是被中止了,但事实完非如此。BACK只是Dismiss掉了进度条,但是却不能中止其操作。当然,这也在于程序的实现方式,如果把ProgressDialog.setCancellable(false),那么BACK是不能Dismiss掉进度条的,也就是说操作“看起来”也不会被中止;但如果真想在Dismiss进度条时把操作也中止,那就做更多的处理,比如要Handle BACK事件等。
BACK键 并没有给用户带来太多的便利,因为很多应用程序(特别是从iPhone上面移植过来的),都有自带的返回上一页的按扭。BACK用的更多的地方是在Task栈中回退。
智能手机的退出问题,是要靠应用自己来设置专门的退出按扭或菜单。否则就无法退出,只能用第三方的应用来杀进程,如同这篇文章所讨论的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值