我们可以为Long key press listener设置持续时间吗?我想要的是,如果用户持续触摸屏幕3秒钟,那么我的长按键监听器应该触发并打开我的弹出窗口进行设置。
提前致谢。
答案 0 :(得分: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;
}
});
答案 1 :(得分:0)
在Long Press Listener中你可以设置一个具有3秒限制的处理程序,如果它达到3秒时间,那么你可以在其中运行你的方法或者使用默认方法
答案 2 :(得分: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);
有关详细信息you can visit以便更好地理解。