我们可以设置长按键监听器的持续时间吗?我想要的是,如果用户持续触摸屏幕 3 秒,那么我的长按键监听器应该触发并打开我的弹出窗口进行设置。
提前致谢。
覆盖 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;
}
});
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
从 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);
有关详细信息,您可以访问以更好地了解。