Devo trascinare alcune visualizzazioni sullo schermo. Sto modificando la loro posizione modificando la sinistra e la parte superiore dei loro parametri di layout dall'evento di movimento su ACTION_MOVE dal listener touch. C'è un modo per "trascinare" gli oggetti più fluidi? Perché TIS sorta di "trascinamento" non è liscia a tutti ... Ecco il codiceAndroid trascinare la vista liscia
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;
}
provare a utilizzare il mio codice qui: http://stackoverflow.com/a/18806475/878126 penso che sia abbastanza liscia. –
[Vista trascinabile Android] (http://www.singhajit.com/android-draggable-view/) –
Ho appena caricato un tutorial video su YouTube su come rendere trascinabile qualsiasi visualizzazione con una sola classe assistente semplice. Scoprilo: https://youtu.be/licui_5_iLk –