我有一个按钮,我正在使用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;
}
答案 0 :(得分:0)
我终于发现,如果我们区分ACITON_MOVE位置,我们可以获得点击事件。 这是诀窍的片段 -
case MotionEvent.ACTION_UP:
if(Math.abs(event.getRawX()-initialTouchX )<=2){
floatingFaceBubble.performClick();
return false;
}