[英]How to detect when button pressed and released on android
我想启动一个计时器,该计时器在第一次按下按钮时开始,在释放按钮时结束(基本上,我想测量按下按钮的时间)。 我将在这两个时间都使用System.nanoTime()方法,然后从最后一个中减去初始数字,以得到按住该按钮时所经过的时间的度量。
(如果您对使用nanoTime()以外的方法有任何建议,或者有其他方法可以测量按下按钮的时间,那么我也欢迎那些人。)
谢谢! 安迪
使用OnTouchListener代替OnClickListener:
// this goes somewhere in your class:
long lastDown;
long lastDuration;
...
// this goes wherever you setup your button listener:
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
lastDown = System.currentTimeMillis();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
lastDuration = System.currentTimeMillis() - lastDown;
}
return true;
}
});
这肯定会起作用:
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
increaseSize();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
resetSize();
}
return true;
}
});
计算差异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.