public boolean onTouchEvent(MotionEvent event) {
//mGestureDetector.onTouchEvent(event);
int action = event.getActionMasked();
switch (action) {
case MotionEvent.ACTION_DOWN:
initialX = event.getX();
initialY = event.getY();
Log.d(TAG, "Action was DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.d(TAG, "Action was MOVE");
break;
case MotionEvent.ACTION_UP:
float finalX = event.getX();
float finalY = event.getY();
Log.d(TAG, "Action was UP");
if (initialX < finalX) {
Log.d(TAG, "Left to Right swipe performed");
}
if (initialX > finalX) {
Log.d(TAG, "Right to Left swipe performed");
}
if (initialY < finalY) {
Log.d(TAG, "Up to Down swipe performed");
}
if (initialY > finalY) {
Log.d(TAG, "Down to Up swipe performed");
}
break;
case MotionEvent.ACTION_CANCEL:
Log.d(TAG,"Action was CANCEL");
break;
case MotionEvent.ACTION_OUTSIDE:
Log.d(TAG, "Movement occurred outside bounds of current screen element");
break;
}
return super.onTouchEvent(event);
}
вот мой код
private int getDirection(float startx, float starty,float endx ,float endy)
{
int direction=-1;
startx = (((int) startx/_size) *_size) ;
starty = (((int) starty/_size) * _size) ;
endx = (((int) endx/_size) * _size) ;
endy = (((int) endy/_size) * _size) ;
// Log.i("direction","startx:"+startx+"endx:"+endx+"starty: "+starty+"endy: "+endy+" ");
if (starty==endy)
{
direction= 0;
return direction;
}
if(startx==endx)
{
direction =1;
return direction;
}
if(Math.abs(startx-endx)==Math.abs(starty-endy))
{
direction =2;
return direction;
}
else
{
direction =-1;
return direction;
}
}
так что я могу найти я нахожусь в horizantal или вертикальных или Безоперационном эти 2 cordinates, но я нужен способ, чтобы сравнить предыдущие и текущую ориентацию, в то время как в action.move что-то вроде onDirectionChanggeListener Я могу использовать action_up, но мне нужно это во время действия перемещения.
Просьба предоставить нам рабочий образец вашего кода. На данный момент ваш вопрос слишком расплывчато, чтобы его можно было ответить – Aserre
Я скопировал здесь пример кода, потому что приведенное выше описание было недостаточно ясным. –