MotionEvent.ACTION_DOWN 及 ACTION_UP问题 简单的问题,求解
本帖最后由 username_gyy 于 2011-07-11 16:22:46 编辑 一个按钮,捕获触屏的ACTION_DOWN及 ACTION_UP操作,在down时给按钮设置一高亮背景图,在up时设置一灰置背景图,为什么点击很快的时候(类似双击)不正常? 结果为一直显示高亮背景图, 为什么啊???
case R.id.ptz_down_btn:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:// 屏幕按下
Log.e("11111111111 ", "11111111111");
down_btn.setBackgroundDrawable(this.getResources().getDrawable(
R.drawable.ptz_down_focus));// 按键按下时高亮显示背景图,在点击抬起时再置灰;
break;
case MotionEvent.ACTION_UP:// 按下抬起
Log.e("22222 ", "2222222222222");
down_btn.setBackgroundDrawable(this.getResources()
.getDrawable(R.drawable.ptz_down_blur));// 按键按下时高亮显示背景图,在点击抬起时再置灰;
break;
}
break;
正常点击结果:
111111
2222222
点击很快的时候:
11111
2222222
11111
着急,求解,谢谢!!!
[解决办法]
楼主 R.id.ptz_down_btn 是一个按钮吧, 你为什么要用event.getAction() 去做触摸判断?
为什么不用
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//在这里就看以感应到按钮被按下时间
}
});
//在这里在判断被按下!!!
@Override
public boolean onTouchEvent(MotionEvent event) {
// 获得触摸的坐标
int x = (int) event.getX();
int y = (int) event.getY();
switch (event.getAction()) {
// 触摸屏幕时刻
case MotionEvent.ACTION_DOWN:
UpdateTouchEvent(x, y);
break;
// 触摸并移动时刻
case MotionEvent.ACTION_MOVE:
break;
// 终止触摸时刻
case MotionEvent.ACTION_UP:
break;
}
return super.onTouchEvent(event);
}