Android 拖动视图时捕捉
我正在使用android的拖放api。我希望我的观点是分块移动的,即移动不应该是连续的。假设单位是50像素。所以我希望我的视图每50个像素移动一次,而不是在两者之间 当我按下面的方法拖动时,会有很多闪烁。(好吧,不仅仅是闪烁,整个事情都没有按照我预期的方式进行)Android 拖动视图时捕捉,android,drag-and-drop,Android,Drag And Drop,我正在使用android的拖放api。我希望我的观点是分块移动的,即移动不应该是连续的。假设单位是50像素。所以我希望我的视图每50个像素移动一次,而不是在两者之间 当我按下面的方法拖动时,会有很多闪烁。(好吧,不仅仅是闪烁,整个事情都没有按照我预期的方式进行) @覆盖 公共布尔onDrag(视图v,DrageEvent事件){ int action=event.getAction(); 开关(动作){ case DragEvent.ACTION\u拖动位置: 视图=(视图)事件。getLoca
@覆盖
公共布尔onDrag(视图v,DrageEvent事件){
int action=event.getAction();
开关(动作){
case DragEvent.ACTION\u拖动位置:
视图=(视图)事件。getLocalState();
if(event.getX()>view.getX()){
view.setX(view.getX()+50);
}else if(event.getX()
任何帮助都将不胜感激 此代码应该可以正常工作:
final int SIZE = 50;
View view;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_MOVE:
setX(event.getX()/SIZE);
setY(event.getY()/SIZE);
return true;
}
return super.onTouchEvent(event);
}
final int SIZE = 50;
View view;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_MOVE:
setX(event.getX()/SIZE);
setY(event.getY()/SIZE);
return true;
}
return super.onTouchEvent(event);
}