1

我们可以设置长按键监听器的持续时间吗?我想要的是,如果用户持续触摸屏幕 3 秒,那么我的长按键监听器应该触发并打开我的弹出窗口进行设置。

提前致谢。

4

3 回答 3

1

覆盖 onTouch 侦听器,然后在按钮按下期间处理按下、释放事件并设置计时器(事件 ==“按下”)

private Timer timer;

 public LongClickTimer(int seconds) {
            timer = new Timer();
            timer.schedule(new LongClickTask(), seconds *1000);         
        }
 class LongClickTask extends TimerTask {
            public void run() { 
             // do what you want            
                timer.cancel(); 
            }
        }
     button.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.v(TAG, "EVENT" + event.toString());
                    if(event.getAction == 2) {// pressed                        
                    new LongClickTimer(5); // schedule for 5 seconds
                    }else{          
                     timer.cancel();
                    }
               return false;
              }
           });
于 2012-09-18T09:16:29.527 回答
0

Inside the Long Press Listener u can set a Handler with 3 Sec Limit and if it reaches 3 sec time then u can run your method in it or else make default method

于 2012-09-18T09:11:39.337 回答
0

从 Android 2.0 开始,Activity 包含方法

public boolean onKeyLongPress(int keyCode, KeyEvent event)

例如,长按后退按钮将是:

@override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) 
    {
        // do your stuff here
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}

现在要打开设置选项卡,您可以在里面执行以下代码和活动...

Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
activityContext.startActivity(intent);

有关详细信息,您可以访问以更好地了解。

于 2012-09-18T09:16:54.003 回答