android arraste a visualização suave
Preciso arrastar algumas visualizações na tela. Estou modificando a posição deles, alterando os parâmetros esquerdo e superior dos layouts do evento de movimento em ACTION_MOVE do touch listener. Existe uma maneira de "arrastar" itens mais suavemente? Porque esse tipo de "arrastar" não é nada fácil ... Aqui está o código
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
dx = (int) motionEvent.getX();
dy = (int) motionEvent.getY();
break;
case MotionEvent.ACTION_MOVE:
int x = (int) motionEvent.getX();
int y = (int) motionEvent.getY();
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) view.getLayoutParams();
int left = lp.leftMargin + (x - dx);
int top = lp.topMargin + (y - dy);
lp.leftMargin = left;
lp.topMargin = top;
view.setLayoutParams(lp);
break;
}
return true;
}