texto style studio seleccionar propiedades number mascara inputtype example edittext android android-layout android-edittext

style - ¿Cómo detectar el deslizamiento hacia la izquierda o hacia la derecha en Android?



mascara edittext android (14)

Tengo una vista de texto de edición en Android. En este sentido, quiero detectar un deslizamiento hacia la izquierda o hacia la derecha. Puedo obtenerlo en un espacio vacío con el siguiente código. Pero esto no funciona cuando deslizo sobre un texto de edición. ¿Cómo lo hago? Por favor, hágamelo saber si estoy haciendo algo mal. Gracias.

Código utilizado

switch (touchevent.getAction()) { case MotionEvent.ACTION_DOWN: { oldTouchValue = touchevent.getX(); break; } case MotionEvent.ACTION_UP: { float currentX = touchevent.getX(); if (oldTouchValue < currentX) { // swiped left } if (oldTouchValue > currentX ) { swiped right } break; } }


Creo que lo que quieres se llama aventura. MotionEvents se puede usar para determinar la dirección de la aventura.

public class MainActivity extends Activity implements GestureDetector.OnGestureListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.stellar_layout); mDetector = new GestureDetectorCompat(this, this); } @Override public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { Log.d(tag, "onFling:/n " + event1.toString()+ "/n " + event2.toString()); /* prints the following MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=297.0, y[0]=672.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=488341979, downTime=488341979, deviceId=6, source=0x1002 } MotionEvent { action=ACTION_UP, id[0]=0, x[0]=560.0, y[0]=583.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=488342047, downTime=488341979, deviceId=6, source=0x1002 } */ return true; } }

http://developer.android.com/training/gestures/detector.html


Después de un día completo trabajando en esta función finalmente puede obtener la respuesta correcta.

Primero, crea las siguientes clases:

import android.util.Log; import android.view.MotionEvent; import android.view.View; /** * Created by hoshyar on 1/19/17. */ public class SwipeDetector implements View.OnTouchListener { public static enum Action { LR, // Left to Right RL, // Right to Left TB, // Top to bottom BT, // Bottom to Top None // when no action was detected } private static final String logTag = "Swipe"; private static final int MIN_DISTANCE = 100; private float downX, downY, upX, upY; private Action mSwipeDetected = Action.None; public boolean swipeDetected() { return mSwipeDetected != Action.None; } public Action getAction() { return mSwipeDetected; } @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: downX = event.getX(); downY = event.getY(); mSwipeDetected = Action.None; return false; case MotionEvent.ACTION_MOVE: upX = event.getX(); upY = event.getY(); float deltaX = downX - upX; float deltaY = downY - upY; Log.i(logTag,String.valueOf(deltaX)); Log.i(logTag,String.valueOf(deltaX)); if (deltaY>0 && deltaY<10 && deltaX<0 || deltaY==0 && deltaX>-15 && deltaX<0){ Log.i(logTag,"to right"); }if (deltaY>=0 && deltaY<10 && deltaX>0 || deltaY<0 && deltaX>15 && deltaX<40){ Log.i(logTag,"to left"); } if (Math.abs(deltaX) > MIN_DISTANCE) { // left or right if (deltaX < 0) { mSwipeDetected = Action.LR; return false; } if (deltaX > 0) { mSwipeDetected = Action.RL; return false; } } else if (Math.abs(deltaY) > MIN_DISTANCE) { if (deltaY < 0) { Log.i(logTag,"to bottom"); mSwipeDetected = Action.TB; return false; } if (deltaY > 0) { Log.i(logTag,"to up"); mSwipeDetected = Action.BT; return false; } } return true; } return false; } }

Finalmente, sobre el objeto que desea aplicar. Mi ejemplo:

SwipeDetector swipeDetector = new SwipeDetector(); listView.setOnTouchListener(swipeDetector);

Buena suerte .


Detectar deslizamiento en cuatro direcciones

private float x1,x2,y1,y2; static final int MIN_DISTANCE = 70;

y

switch(pSceneTouchEvent.getAction()) { case MotionEvent.ACTION_DOWN: x1 = pSceneTouchEvent.getX(); y1 = pSceneTouchEvent.getY(); break; case MotionEvent.ACTION_UP: x2 = pSceneTouchEvent.getX(); y2 = pSceneTouchEvent.getY(); float deltaX = x2 - x1; float deltaY = y2 - y1; if (deltaX > MIN_DISTANCE) { swipeLeftToRight(); } else if( Math.abs(deltaX) > MIN_DISTANCE) { swipeRightToLeft(); } else if(deltaY > MIN_DISTANCE){ swipeTopToBottom(); } else if( Math.abs(deltaY) > MIN_DISTANCE){ swipeBottopmToTop(); } break; }


Escribí una clase simple que facilita la detección de eventos de barrido: SUPERIOR, DERECHA, ABAJO, IZQUIERDA.

1: detectar evento de deslizamiento único

// Detect and consume specific events // {Available methods} - detectTop, detectRight, detectBottom, detectLeft SwipeEvents.detectTop(swipeElement, new SwipeEvents.SwipeSingleCallback() { @Override public void onSwipe() { showToast("Swiped - detectTop"); } });

2: Detecta cualquiera de los eventos de deslizamiento con una devolución de llamada.

SwipeEvents.detect( swipeElement, new SwipeEvents.SwipeCallback() { @Override public void onSwipeTop() { //Swiped top } @Override public void onSwipeRight() { //Swiped right } @Override public void onSwipeBottom() { //Swiped bottom } @Override public void onSwipeLeft() { //Swiped left } });

Aquí hay una publicación en el blog con la explicación sobre cómo usar: http://bmutinda.com/android-detect-swipe-events/

También he creado un Gist para los fragmentos de código disponibles aquí: https://gist.github.com/bmutinda/9578f70f1df9bd0687b8

Gracias.


Esta es una linda clase que uso (en caso de que quiera ver un evento en una Vista, si es un Grupo de Visualización, uso la segunda implementación):

import android.util.Log; import android.view.MotionEvent; import android.view.View; public class SwipeDetector implements View.OnTouchListener{ private int min_distance = 100; private float downX, downY, upX, upY; private View v; private onSwipeEvent swipeEventListener; public SwipeDetector(View v){ this.v=v; v.setOnTouchListener(this); } public void setOnSwipeListener(onSwipeEvent listener) { try{ swipeEventListener=listener; } catch(ClassCastException e) { Log.e("ClassCastException","please pass SwipeDetector.onSwipeEvent Interface instance",e); } } public void onRightToLeftSwipe(){ if(swipeEventListener!=null) swipeEventListener.SwipeEventDetected(v,SwipeTypeEnum.RIGHT_TO_LEFT); else Log.e("SwipeDetector error","please pass SwipeDetector.onSwipeEvent Interface instance"); } public void onLeftToRightSwipe(){ if(swipeEventListener!=null) swipeEventListener.SwipeEventDetected(v,SwipeTypeEnum.LEFT_TO_RIGHT); else Log.e("SwipeDetector error","please pass SwipeDetector.onSwipeEvent Interface instance"); } public void onTopToBottomSwipe(){ if(swipeEventListener!=null) swipeEventListener.SwipeEventDetected(v,SwipeTypeEnum.TOP_TO_BOTTOM); else Log.e("SwipeDetector error","please pass SwipeDetector.onSwipeEvent Interface instance"); } public void onBottomToTopSwipe(){ if(swipeEventListener!=null) swipeEventListener.SwipeEventDetected(v,SwipeTypeEnum.BOTTOM_TO_TOP); else Log.e("SwipeDetector error","please pass SwipeDetector.onSwipeEvent Interface instance"); } public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: { downX = event.getX(); downY = event.getY(); return true; } case MotionEvent.ACTION_UP: { upX = event.getX(); upY = event.getY(); float deltaX = downX - upX; float deltaY = downY - upY; //HORIZONTAL SCROLL if(Math.abs(deltaX) > Math.abs(deltaY)) { if(Math.abs(deltaX) > min_distance){ // left or right if(deltaX < 0) { this.onLeftToRightSwipe(); return true; } if(deltaX > 0) { this.onRightToLeftSwipe(); return true; } } else { //not long enough swipe... return false; } } //VERTICAL SCROLL else { if(Math.abs(deltaY) > min_distance){ // top or down if(deltaY < 0) { this.onTopToBottomSwipe(); return true; } if(deltaY > 0) { this.onBottomToTopSwipe(); return true; } } else { //not long enough swipe... return false; } } return true; } } return false; } public interface onSwipeEvent { public void SwipeEventDetected(View v, SwipeTypeEnum SwipeType); } public SwipeDetector setMinDistanceInPixels(int min_distance) { this.min_distance=min_distance; return this; } public enum SwipeTypeEnum { RIGHT_TO_LEFT,LEFT_TO_RIGHT,TOP_TO_BOTTOM,BOTTOM_TO_TOP } }

y este es un ejemplo de uso:

filters_container=(RelativeLayout)root.findViewById(R.id.filters_container); new SwipeDetector(filters_container).setOnSwipeListener(new SwipeDetector.onSwipeEvent() { @Override public void SwipeEventDetected(View v, SwipeDetector.SwipeTypeEnum swipeType) { if(swipeType==SwipeDetector.SwipeTypeEnum.LEFT_TO_RIGHT) getActivity().onBackPressed(); } });

En algunos casos, le gustaría detectar los gestos de deslizamiento en un contenedor y pasar los eventos táctiles a los niños para que pueda crear un grupo de Vista personalizada, digamos RelativeLayout y anule onInterceptTouchEvent, y allí puede detectar el evento de deslizamiento sin bloquear el paso del evento táctil a las vistas de su hijo, por ejemplo:

import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.RelativeLayout; public class SwipeDetectRelativeLayout extends RelativeLayout { private float x1,x2; static final int MIN_DISTANCE=150; private onSwipeEventDetected mSwipeDetectedListener; public SwipeDetectRelativeLayout(Context context) { super(context); } public SwipeDetectRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); } public SwipeDetectRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { switch(ev.getAction()) { case MotionEvent.ACTION_DOWN: x1 = ev.getX(); break; case MotionEvent.ACTION_UP: x2 = ev.getX(); float deltaX = x2 - x1; if (Math.abs(deltaX) > MIN_DISTANCE) { //swiping right to left if(deltaX<0) { if(mSwipeDetectedListener!=null) mSwipeDetectedListener.swipeEventDetected(); } } break; } return super.onInterceptTouchEvent(ev); } public interface onSwipeEventDetected { public void swipeEventDetected(); } public void registerToSwipeEvents(onSwipeEventDetected listener) { this.mSwipeDetectedListener=listener; } }


Los eventos Swipe son una especie de eventos onTouch . Simplemente simplificando la respuesta de @Gal Rom, solo haga un seguimiento de los deltas horizontales y verticales, y con un poco de matemática puede determinar qué tipo de deslizamiento fue un evento de touch. (De nuevo, permítanme enfatizar que esto se basó OBSESIVAMENTE en una respuesta anterior, pero la simplicidad puede atraer a los principiantes). La idea es ampliar un OnTouchListener, detectar qué tipo de deslizamiento (toque) acaba de suceder y llamar a los métodos específicos para cada tipo.

public class SwipeListener implements View.OnTouchListener { private int min_distance = 100; private float downX, downY, upX, upY; View v; @Override public boolean onTouch(View v, MotionEvent event) { this.v = v; switch(event.getAction()) { // Check vertical and horizontal touches case MotionEvent.ACTION_DOWN: { downX = event.getX(); downY = event.getY(); return true; } case MotionEvent.ACTION_UP: { upX = event.getX(); upY = event.getY(); float deltaX = downX - upX; float deltaY = downY - upY; //HORIZONTAL SCROLL if (Math.abs(deltaX) > Math.abs(deltaY)) { if (Math.abs(deltaX) > min_distance) { // left or right if (deltaX < 0) { this.onLeftToRightSwipe(); return true; } if (deltaX > 0) { this.onRightToLeftSwipe(); return true; } } else { //not long enough swipe... return false; } } //VERTICAL SCROLL else { if (Math.abs(deltaY) > min_distance) { // top or down if (deltaY < 0) { this.onTopToBottomSwipe(); return true; } if (deltaY > 0) { this.onBottomToTopSwipe(); return true; } } else { //not long enough swipe... return false; } } return false; } } return false; } public void onLeftToRightSwipe(){ Toast.makeText(v.getContext(),"left to right", Toast.LENGTH_SHORT).show(); } public void onRightToLeftSwipe() { Toast.makeText(v.getContext(),"right to left", Toast.LENGTH_SHORT).show(); } public void onTopToBottomSwipe() { Toast.makeText(v.getContext(),"top to bottom", Toast.LENGTH_SHORT).show(); } public void onBottomToTopSwipe() { Toast.makeText(v.getContext(),"bottom to top", Toast.LENGTH_SHORT).show(); } }


Me gusta el código de @ user2999943. Pero solo algunos cambios menores para mis propios fines.

@Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_DOWN: x1 = event.getX(); break; case MotionEvent.ACTION_UP: x2 = event.getX(); float deltaX = x2 - x1; if (Math.abs(deltaX) > MIN_DISTANCE) { // Left to Right swipe action if (x2 > x1) { Toast.makeText(this, "Left to Right swipe [Next]", Toast.LENGTH_SHORT).show (); } // Right to left swipe action else { Toast.makeText(this, "Right to Left swipe [Previous]", Toast.LENGTH_SHORT).show (); } } else { // consider as something else - a screen tap for example } break; } return super.onTouchEvent(event); }


Quiero agregar a la respuesta aceptada que funciona parcialmente, pero le falta la variable de tiempo, que lo hace perfecto.

El detector de golpe de izquierda a derecha más simple con una variable de tiempo:

En su clase de actividad, agregue los siguientes atributos:

private float x1,x2; private long startClickTime; static final int MIN_DISTANCE = 150; static final int MAX_SWIPE_TIME = 200;

y anular el métodoTouchEvent ():

@Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_DOWN: startClickTime = Calendar.getInstance().getTimeInMillis(); x1 = event.getX(); break; case MotionEvent.ACTION_UP: long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime; x2 = event.getX(); float deltaX = x2 - x1; if (Math.abs(deltaX) > MIN_DISTANCE && clickDuration < MAX_SWIPE_TIME) { Toast.makeText(this, "left2right swipe", Toast.LENGTH_SHORT).show (); } else { // consider as something else - a screen tap for example } break; } return super.onTouchEvent(event); }


Si desea ver el evento desde el inicio del deslizamiento, puede usar MotionEvent.ACTION_MOVE y almacenar el primer valor para comparar

private float upX1; private float upX2; private float upY1; private float upY2; private boolean isTouchCaptured = false; static final int min_distance = 100; viewObject.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_MOVE: { downX = event.getX(); downY = event.getY(); if (!isTouchCaptured) { upX1 = event.getX(); upY1 = event.getY(); isTouchCaptured = true; } else { upX2 = event.getX(); upY2 = event.getY(); float deltaX = upX1 - upX2; float deltaY = upY1 - upY2; //HORIZONTAL SCROLL if (Math.abs(deltaX) > Math.abs(deltaY)) { if (Math.abs(deltaX) > min_distance) { // left or right if (deltaX < 0) { return true; } if (deltaX > 0) { return true; } } else { //not long enough swipe... return false; } } //VERTICAL SCROLL else { if (Math.abs(deltaY) > min_distance) { // top or down if (deltaY < 0) { return false; } if (deltaY > 0) { return false; } } else { //not long enough swipe... return false; } } } return false; } case MotionEvent.ACTION_UP: { isTouchCaptured = false; } } return false; } });


esto debería ayudarte quizás ...

private final GestureDetector.SimpleOnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDoubleTap(MotionEvent e) { Log.i("gestureDebug333", "doubleTapped:" + e); return super.onDoubleTap(e); } @Override public boolean onDoubleTapEvent(MotionEvent e) { Log.i("gestureDebug333", "doubleTappedEvent:" + e); return super.onDoubleTapEvent(e); } @Override public boolean onDown(MotionEvent e) { Log.i("gestureDebug333", "onDown:" + e); return super.onDown(e); } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Log.i("gestureDebug333", "flinged:" + e1 + "---" + e2); Log.i("gestureDebug333", "fling velocity:" + velocityX + "---" + velocityY); if (e1.getAction() == MotionEvent.ACTION_DOWN && e1.getX() > (e2.getX() + 300)){ // Toast.makeText(context, "flinged right to left", Toast.LENGTH_SHORT).show(); goForward(); } if (e1.getAction() == MotionEvent.ACTION_DOWN && e2.getX() > (e1.getX() + 300)){ //Toast.makeText(context, "flinged left to right", Toast.LENGTH_SHORT).show(); goBack(); } return super.onFling(e1, e2, velocityX, velocityY); } @Override public void onLongPress(MotionEvent e) { super.onLongPress(e); } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return super.onScroll(e1, e2, distanceX, distanceY); } @Override public void onShowPress(MotionEvent e) { super.onShowPress(e); } @Override public boolean onSingleTapConfirmed(MotionEvent e) { return super.onSingleTapConfirmed(e); } @Override public boolean onSingleTapUp(MotionEvent e) { return super.onSingleTapUp(e); } };


la mejor respuesta es la de @Gal Rom. hay más información al respecto: toque primero las visualizaciones de retorno de eventos para niños. y si define onClick o onTouch listener para ellos, parnt view (por ejemplo, fragmento) no recibirá ningún detector táctil. Por lo tanto, si desea definir el detector de deslizamiento para el fragmento en esta situación, debe implementarlo en una nueva clase:

package com.neganet.QRelations.fragments; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.FrameLayout; public class SwipeListenerFragment extends FrameLayout { private float x1,x2; static final int MIN_DISTANCE=150; private onSwipeEventDetected mSwipeDetectedListener; public SwipeListenerFragment(Context context) { super(context); } public SwipeListenerFragment(Context context, AttributeSet attrs) { super(context, attrs); } public SwipeListenerFragment(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { boolean result=false; switch(ev.getAction()) { case MotionEvent.ACTION_DOWN: x1 = ev.getX(); break; case MotionEvent.ACTION_UP: x2 = ev.getX(); float deltaX = x2 - x1; if (Math.abs(deltaX) > MIN_DISTANCE) { if(deltaX<0) { result=true; if(mSwipeDetectedListener!=null) mSwipeDetectedListener.swipeLeftDetected(); }else if(deltaX>0){ result=true; if(mSwipeDetectedListener!=null) mSwipeDetectedListener.swipeRightDetected(); } } break; } return result; } public interface onSwipeEventDetected { public void swipeLeftDetected(); public void swipeRightDetected(); } public void registerToSwipeEvents(onSwipeEventDetected listener) { this.mSwipeDetectedListener=listener; } }

Cambié la clase de @Gal Rom. Por lo tanto, puede detectar tanto deslizamiento hacia la derecha como hacia la izquierda y, especialmente, devuelve onInterceptTouchEvent true after detect. es importante porque si no lo hacemos algunas veces las vistas secundarias pueden recibir un evento y tanto Swipe for fragment como onClick for child view (por ejemplo) se ejecutan y causan algunos problemas. después de hacer esta clase, debes cambiar tu fragmento de archivo xml:

<com.neganet.QRelations.fragments.SwipeListenerFragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:id="@+id/main_list_layout" android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" android:layout_height="match_parent" tools:context="com.neganet.QRelations.fragments.mainList" android:background="@color/main_frag_back"> <!-- TODO: Update blank fragment layout --> <android.support.v7.widget.RecyclerView android:id="@+id/farazList" android:scrollbars="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="left|center_vertical" /> </com.neganet.QRelations.fragments.SwipeListenerFragment>

ves que la etiqueta de inicio es la clase que creamos. ahora en la clase de fragmento:

View view=inflater.inflate(R.layout.fragment_main_list, container, false); SwipeListenerFragment tdView=(SwipeListenerFragment) view; tdView.registerToSwipeEvents(this); and then Implement SwipeListenerFragment.onSwipeEventDetected in it: @Override public void swipeLeftDetected() { Toast.makeText(getActivity(), "left", Toast.LENGTH_SHORT).show(); } @Override public void swipeRightDetected() { Toast.makeText(getActivity(), "right", Toast.LENGTH_SHORT).show(); }

Es un poco complicado pero funciona perfecto :)


De izquierda a derecha y de derecha a izquierda Swipe Detector

En primer lugar, declare dos variables de tipo de datos float.

private float x1, x2;

En segundo lugar, conecte su vista xml en java. Como si tuviera ImageView

ImageView img = (ImageView) findViewById(R.id.imageView);

En tercer lugar, setOnTouchListener en su ImageView .

img.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_DOWN: x1 = event.getX(); break; case MotionEvent.ACTION_UP: x2 = event.getX(); float deltaX = x2 - x1; if (deltaX < 0) { Toast.makeText(MainActivity.this, "Right to Left swipe", Toast.LENGTH_SHORT).show(); }else if(deltaX >0){ Toast.makeText(MainActivity.this, "Left to Right swipe", Toast.LENGTH_SHORT).show(); } break; } return false; } });


El detector de deslizamiento más simple de izquierda a derecha:

En su clase de actividad, agregue los siguientes atributos:

private float x1,x2; static final int MIN_DISTANCE = 150;

y anular el onTouchEvent() :

@Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_DOWN: x1 = event.getX(); break; case MotionEvent.ACTION_UP: x2 = event.getX(); float deltaX = x2 - x1; if (Math.abs(deltaX) > MIN_DISTANCE) { Toast.makeText(this, "left2right swipe", Toast.LENGTH_SHORT).show (); } else { // consider as something else - a screen tap for example } break; } return super.onTouchEvent(event); }


public class TransferMarket extends Activity { float x1,x2; float y1, y2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_transfer_market); } // onTouchEvent () method gets called when User performs any touch event on screen // Method to handle touch event like left to right swap and right to left swap public boolean onTouchEvent(MotionEvent touchevent) { switch (touchevent.getAction()) { // when user first touches the screen we get x and y coordinate case MotionEvent.ACTION_DOWN: { x1 = touchevent.getX(); y1 = touchevent.getY(); break; } case MotionEvent.ACTION_UP: { x2 = touchevent.getX(); y2 = touchevent.getY(); //if left to right sweep event on screen if (x1 < x2) { Toast.makeText(this, "Left to Right Swap Performed", Toast.LENGTH_LONG).show(); } // if right to left sweep event on screen if (x1 > x2) { Toast.makeText(this, "Right to Left Swap Performed", Toast.LENGTH_LONG).show(); } // if UP to Down sweep event on screen if (y1 < y2) { Toast.makeText(this, "UP to Down Swap Performed", Toast.LENGTH_LONG).show(); } //if Down to UP sweep event on screen if (y1 > y2) { Toast.makeText(this, "Down to UP Swap Performed", Toast.LENGTH_LONG).show(); } break; } } return false; }