检测Android中的键组合/双击

时间:2011-10-21 05:54:31

标签: android

我想在Android中检测组合键,比如我想在用户按下MENU + S时打开我的应用程序的搜索功能。

有什么好办法吗?

编辑:我知道我可以制作一个按钮,但我只想让我根本不想占用屏幕空间。所以认为关键组合是最好的方法,只有我不能想到任何检测它们的好方法。 android是否提供了我可以使用的任何类型的api?

编辑:斯蒂芬指出了这个有趣的想法,这引起了我的兴趣。

  

请注意,软键盘可以使用键组合,但它   特别是没有,因此更好。对于   例如,为了大写一个字母,在Android中你不要按   在移动键的同时,按下shift键   一次,然后按下该字母(然后按下shift键   自动变为未按下状态)。我个人觉得可用性   在很难的手机上流畅地工作   同时协调多个手指。

但遗憾的是我无法使用此设计,因为我希望键盘按钮能够保留默认行为。

编辑:如果它比组合更易于检测,我也可以选择双击,但我再也不知道如何检测关键的双击。 谢谢斯蒂芬再次提出另一个好主意。

2 个答案:

答案 0 :(得分:0)

你确定这是个好主意吗?为此覆盖搜索按钮会不会更容易?

您拥有个人使用的实际Android手机吗?我意识到一些Android开发人员仍然主要使用iPhone,并且除了电话之外他们并不熟悉Android界面,因为他们在工作时会对其进行测试。

请注意,软键盘可以使用键组合,但它没有特别没有,因为它更好。例如,为了大写一个字母,在Android中你不要在字母的同时按下shift键,你按一下shift键,然后按下字母(然后你的shift键自动变为未按下)。我个人发现可用性流在手机上非常好地工作,而手机很难同时协调多个手指。

答案 1 :(得分:0)

嗯,我也同意搜索按钮是一个糟糕的android设计。 您可以按照onKeyDown方法

if (keyCode == KeyEvent.KEYCODE_MENU) { 
  // start a thread and let it stop in a while 
} else if(keyCode == YOURDEFINECODE ){ 
  // if the thread has been running do what you want
} else { 
  // stop the thread
}