【发布时间】:2014-11-27 18:36:44
【问题描述】:
我已经为我的布局实现了onTouch 以用作按钮。
除了有时在触摸按钮时会发出 2 次咔嗒声之外,这一切都很好用。
我试图调试它,但我无法理解问题所在。
这里是onTouch 代码:
button.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Log.d(TAG, "onTouch "+event.getAction());
switch (event.getAction())
{
case MotionEvent.ACTION_HOVER_ENTER:
v.setBackgroundResource(R.color.main_menu_buttons_bg_pressed);
break;
case MotionEvent.ACTION_HOVER_EXIT:
v.setBackgroundResource(R.color.background_color);
break;
case MotionEvent.ACTION_DOWN:
v.setBackgroundResource(R.color.main_menu_buttons_bg_pressed);
break;
case MotionEvent.ACTION_UP:
Log.d(TAG, "on click");
v.performClick();
v.setBackgroundResource(R.color.background_color);
break;
default:
// empty
}
return false;
}
});
如您所见,我添加了日志消息,通常会打印:
onTouch 0
onTouch 2
onTouch 2
onTouch 2
onTouch 2
onTouch 1
on click
所以应该没问题,但是会听到两次咔嗒声(有时,无法确定确切的时间)
【问题讨论】:
标签: android onclick onclicklistener touch-event ontouch