Код: Выделить всё
button.setOnTouchListener(new View.OnTouchListener() {
private int initialX;
private int initialY;
private float initialTouchX;
private float initialTouchY;
@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 false;
case MotionEvent.ACTION_UP:
return false;
case MotionEvent.ACTION_MOVE:
params.x = initialX + (int) (event.getRawX() - initialTouchX);
params.y = initialY + (int) (event.getRawY() - initialTouchY);
mWindowManager.updateViewLayout(button, params);
return true;
}
return false;
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
two();
}
});
}
на stackoverflow писали что , если ACTION_MOVE возвратит true , то до онклил дело не дойдет. Но доходит..Заметил , что если поставить false и кнопку после перемещения отпустить очень быстро без простоя на месте , то онклик не сработает. чем это вызвано не знаю.
Ведь есть кнопки которые не срабатывают после того как отпустил кнопку ,если произведено перемещение кнопки. Как это реализуется?
понимаю , что надо поставить условие : "если координаты кнопки изменились онклик не срабатывает" но как это сделать не пойму.