【问题标题】:Capture two physical button clicks捕获两次物理按钮点击
【发布时间】:2010-10-29 12:25:53
【问题描述】:

如何捕捉任何物理按钮(包括光学按钮)的两次点击?

类似于 QuickDesk 只需单击两次主页按钮。

谢谢

【问题讨论】:

    标签: android button double-click


    【解决方案1】:

    只是一个想法:
    如果 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;
    }
    

    【讨论】:

    • 我也是这么想的……你能写个简单的例子吗?
    • 这个例子适用于任何按钮,除了最重要的一个按钮:主页按钮!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2022-01-21
    相关资源
    最近更新 更多