物理的なボタン(光学ボタンを含む)の2回のクリックをキャプチャするにはどうすればよいですか?
QuickDeskがホームボタンを2回クリックするのと同じようなものです。
ありがとう
物理的なボタン(光学ボタンを含む)の2回のクリックをキャプチャするにはどうすればよいですか?
QuickDeskがホームボタンを2回クリックするのと同じようなものです。
ありがとう
ただのアイデア:
Androidにそれを処理するAPIがまだない場合は、シングル/ダブル/トリプルなどに関する結論を延期してみてください。オーバーライドされたhadrwareボタンハンドラーに小さなタイムアウト(たとえば約300ms)を設定してクリックし、その間にその特定のボタンに対して行われた呼び出しの数をカウントし、タイマーが作動したときにそれを確認します。
編集:
これが私の頭のてっぺんからの何かです。より最適化されたパフォーマンスを得るために、少し調整してください。
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;
}