最近在搞软件杯的事,要提取按键时的具体信息,包括按下去的时间和弹起的时间,还有按的是哪个键等等,发现用普通的OnClickListener无法做到,于是乎查了一下,就用OnTouchListener这个监听器来做,可以监听动作。下面是代码
代码语言:javascript复制//这里用的是建立一个监听类,而我以前喜欢用的是用匿名内部类的方法,使用新建的类有个好处就是可以使代码简化
//对于到底是哪个按键调用的,利用了getId()这个方法就可以
public class TimeListener implements OnTouchListener {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (view.getId()) {
case R.id.button_0:
}
// 按下操作
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
//这里就可以利用时间函数来收集下落时间
//时间的大概就是这个样子curDate = new Date(System.currentTimeMillis());
}
// 抬起操作
if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
//同下落
}
// 移动操作
if (motionEvent.getAction() == MotionEvent.ACTION_MOVE) {
//这里还有个移动操作,其实这个监听器不仅仅是给button准备的,其他的空间也可以的
}
return false;
}
}