Cómo configurar onFling () evento de Gesture en ScrollView en android?

He establecido el evento onFling() de Gesture en ScrollView , pero no está funcionando en ScrollView,

 package com.doubletap; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnDoubleTapListener; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; import android.widget.TextView; public class DoubleTapActivity extends Activity implements OnGestureListener { private GestureDetector gd; private TextView tvTap; String TAG = getClass().getSimpleName(); private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvTap = (TextView)findViewById(R.id.tvTap); gd = new GestureDetector(this); gd.setOnDoubleTapListener(new OnDoubleTapListener() { @Override public boolean onDoubleTap(MotionEvent e) { return false; } @Override public boolean onDoubleTapEvent(MotionEvent e) { return false; } @Override public boolean onSingleTapConfirmed(MotionEvent e) { return false; } }); } @Override public boolean onTouchEvent(MotionEvent event) { return gd.onTouchEvent(event);//return the double tap events } @Override public boolean onDown(MotionEvent e) { return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) { return false; } if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { tvTap.setText("Flip Right to Left"); Log.v(TAG, "Right to Left"); } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { tvTap.setText("Flip Left to Right"); Log.v(TAG, "Left to Right"); } } catch (Exception e) { } return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } } 

Main.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/hello" android:textStyle="bold" /> <TextView android:id="@+id/tvTap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dip" > </TextView> <TextView android:id="@+id/tvTapEvent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dip" > </TextView> <ScrollView android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button1" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button2" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button3" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button4" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button5" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button6" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button7" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button8" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button9" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button10" /> </LinearLayout> </ScrollView> 

¿Alguien sabe cómo implementar el evento onFling () en Scrollview?

Esto funciona para mí. Esperemos que pueda agregar sus acciones de doble toque aquí.

  public class ScrollViewFling extends Activity { private GestureDetector mGesture; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scrollviewfling); mGesture = new GestureDetector(this, mOnGesture); } @Override public boolean dispatchTouchEvent(MotionEvent ev) { boolean handled = super.dispatchTouchEvent(ev); handled = mGesture.onTouchEvent(ev); return handled; } private OnGestureListener mOnGesture = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDown(MotionEvent e) { return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Log.v("fling", "Flinged."); return true; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } }; }; 
  • ImageView no llenará el padre
  • Android ScrollView ¿cómo mantener el componente en la pantalla cuando se desplaza a la parte superior de la pantalla?
  • Cambiar el color de la barra de desplazamiento en Android
  • ¿Cómo sé que la vista de desplazamiento ya está desplazada hacia abajo?
  • Cambiar el color de desplazamiento en scrollview en android
  • Cómo cambiar el color de la actual desplazamiento en ScrollView Android?
  • Vista demasiado grande para encajar en la caché de dibujo en Webview dentro de scrollview
  • ¿Cómo trabajar, cuando listview dentro del scrollview?
  • ListView dentro de un ScrollView
  • ViewPager dentro de un ScrollView no se desliza correclty
  • Android: cómo hacer scrollview infinito con desplazamiento sin fin
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.