0

我有一个我正在使用 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;
  }
4

1 回答 1

0

我终于发现,如果我们区分 ACITON_MOVE 位置,我们可以得到一个点击事件。这是成功的片段 -

case MotionEvent.ACTION_UP:
if(Math.abs(event.getRawX()-initialTouchX )<=2){
floatingFaceBubble.performClick();
return false;
}
于 2015-03-18T17:55:35.743 回答