1
드래그 할 수있는 내 Activity에서 FloatingActionButton (FAB)이 필요합니다. 그러나 당신도 그것을 클릭 할 수 있습니다. 다른 포스트에서 나는 복사이 :Android FAB 드래그 앤 드롭
fab.setOnTouchListener(new View.OnTouchListener() {
float startX;
int lastAction;
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
startX = view.getX() - event.getRawX();
lastAction = MotionEvent.ACTION_DOWN;
break;
case MotionEvent.ACTION_MOVE:
view.setX(event.getRawX() + startX);
lastAction = MotionEvent.ACTION_MOVE;
break;
case MotionEvent.ACTION_UP:
if (lastAction == MotionEvent.ACTION_DOWN){
edit();
}
break;
case MotionEvent.ACTION_BUTTON_PRESS:
default:
return false;
}
return true;
}
});
문제는 : 당신이 그것을 클릭 할 경우 종종 클릭으로 인식하지만 움직임으로하지 않습니다. 그래서 이것은 정확하지 않습니다. 어떻게 코드를 변경하여 코드를 개선 할 수 있습니까?