0

物理的なボタン(光学ボタンを含む)の2回のクリックをキャプチャするにはどうすればよいですか?

QuickDeskがホームボタンを2回クリックするのと同じようなものです。

ありがとう

4

1 に答える 1

0

ただのアイデア:
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;
}
于 2010-10-29T01:44:05.367 に答える