带onTouch和onClick的按钮

时间:2015-03-18 16:17:17

标签: java android button onclick ontouch

我有一个按钮,我正在使用onTouch,以便我可以移动它。但是按钮现在无法加载onClick中的内容。如何实现?

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
        //some code which dosent work
}


@Override public boolean onTouch(View v, MotionEvent event) {

    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
        initialX = params.x;
        initialY = params.y;
        initialTouchX = event.getRawX();
        initialTouchY = event.getRawY();
        return true;
      case MotionEvent.ACTION_UP:
            Voice v1 = new Voice();
            v1.putVoice();
          return true;
      case MotionEvent.ACTION_MOVE:
        params.x = initialX + (int) (event.getRawX() - initialTouchX);
        params.y = initialY + (int) (event.getRawY() - initialTouchY);
        windowManager.updateViewLayout(chatHead, params);
        return true;
    }
    return false;
  }

1 个答案:

答案 0 :(得分:0)

我终于发现,如果我们区分ACITON_MOVE位置,我们可以获得点击事件。 这是诀窍的片段 -

case MotionEvent.ACTION_UP:
if(Math.abs(event.getRawX()-initialTouchX )<=2){
floatingFaceBubble.performClick();
return false;
}