Install GestureDetector in all child views

I would like to add a GestureDetector to all views (groups of views) of an activity without manually assigning it to each individual view. Right now onFling () is activated only when scrolling in the background, but not when scrolling for example. button1.

package com.app.example; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.View; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.LinearLayout; public class ExampleActivity extends Activity { Context mContext = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; LinearLayout parent = new LinearLayout(mContext); parent.setOrientation(LinearLayout.VERTICAL); parent.setBackgroundColor(Color.RED); Button button1 = new Button(mContext); button1.setText("Button 1"); Button button2 = new Button(mContext); button2.setText("Button 2"); parent.addView(button1); parent.addView(button2); final GestureDetector gestureDetector = new GestureDetector( new MyGestureDetector()); parent.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { gestureDetector.onTouchEvent(event); return true; } }); setContentView(parent); } } class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // right to left if(e1.getX() - e2.getX() > 10 && Math.abs(velocityX) > 20) { Log.i("onFling", "right to left"); return false; // left to right } else if (e2.getX() - e1.getX() > 10 && Math.abs(velocityX) > 20) { Log.i("onFling", "left to right"); return false; } return false; } } 
+8
android gesturedetector viewgroup onfling
source share
1 answer

You can use GestureOverlayView see postowflowflow postus how to use it.

+2
source share

All Articles