【发布时间】:2010-10-29 12:25:53
【问题描述】:
如何捕捉任何物理按钮(包括光学按钮)的两次点击?
类似于 QuickDesk 只需单击两次主页按钮。
谢谢
【问题讨论】:
标签: android button double-click
如何捕捉任何物理按钮(包括光学按钮)的两次点击?
类似于 QuickDesk 只需单击两次主页按钮。
谢谢
【问题讨论】:
标签: android button double-click
只是一个想法:
如果 Android 中没有 API 可以处理,那么您可以尝试推迟关于单/双/三/等的结论。通过在该重写的 hadrware 按钮处理程序中设置一个小的超时(例如大约 300 毫秒)单击,同时计算对该特定按钮的调用次数,在计时器滴答作响时检查它并且你得到它。
编辑:
这是我的想法。稍微调整一下以获得更优化的性能。
private Timer mDoubleClickTimer;
private boolean possibleDoubleClick = false;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_MENU){ //or whatever key you want to check for double-clicks
if(mDoubleClickTimer!=null) {mDoubleClickTimer.cancel();}
if(!possibleDoubleClick){
possibleDoubleClick = true;
mDoubleClickTimer = new Timer();
mDoubleClickTimer.schedule(new TimerTask() {
@Override
public void run() {
//single click detected
//handle it here
possibleDoubleClick = false;
}
},300);
}else{
//double click detected
//handle it here
possibleDoubleClick = false;
}
//... other key processing if you need it
return false;
}
【讨论】: