只需滑动任何普通 Android 视图即可,无需第三方库
Simply Swipe any Normal Android View without third party library
我想在我的应用程序中移动任何普通视图以及滑动。
我能够在 onTouch 方法中使用 OnTouchListener 检测滑动。但是 无法随着滑动移动视图。
我想随着滑动移动视图。
我认为我需要在 onTouch 方法中实现一些东西来移动视图或项目以及滑动,但我不知道。
任何帮助将不胜感激。
X坐标用view.setTranslationX(diffX)
,Y坐标用view.setTranslationY(diffY)
,onTouch()
方法下用MotionEvent.ACTION_MOVE
。
view.setOnTouchListener(new View.OnTouchListener() {
float downX, downY, nowX, nowY, diffX, diffY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = event.getRawX();
downY = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
nowX = event.getRawX();
nowY = event.getRawY();
diffX = nowX - downX;
diffY = nowY - downY;
v.setTranslationX(diffX);
v.setTranslationY(diffY);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
});
我想在我的应用程序中移动任何普通视图以及滑动。
我能够在 onTouch 方法中使用 OnTouchListener 检测滑动。但是 无法随着滑动移动视图。
我想随着滑动移动视图。
我认为我需要在 onTouch 方法中实现一些东西来移动视图或项目以及滑动,但我不知道。
任何帮助将不胜感激。
X坐标用view.setTranslationX(diffX)
,Y坐标用view.setTranslationY(diffY)
,onTouch()
方法下用MotionEvent.ACTION_MOVE
。
view.setOnTouchListener(new View.OnTouchListener() {
float downX, downY, nowX, nowY, diffX, diffY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = event.getRawX();
downY = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
nowX = event.getRawX();
nowY = event.getRawY();
diffX = nowX - downX;
diffY = nowY - downY;
v.setTranslationX(diffX);
v.setTranslationY(diffY);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
});