I want to get fling gesture detection working in my Android application.
What I have is a GridLayout that contains 9 ImageViews. The source can be found here: Romain Guys's Grid Layout.
That file I take is from Romain Guy's Photostream application and has only been slightly adapted.
For the simple click situation I need only set the onClickListener for each ImageView I add to be the main activity which implements View.OnClickListener. It seems infinitely more complicated to implement something that recognizes a fling. I presume this is because it may span views?
- If my activity implements - OnGestureListenerI don't know how to set that as the gesture listener for the- Gridor the- Imageviews that I add.- public class SelectFilterActivity extends Activity implements View.OnClickListener, OnGestureListener { ...
- If my activity implements - OnTouchListenerthen I have no- onFlingmethod to- override(it has two events as parameters allowing me to determine if the fling was noteworthy).- public class SelectFilterActivity extends Activity implements View.OnClickListener, OnTouchListener { ...
- If I make a custom - View, like- GestureImageViewthat extends- ImageViewI don't know how to tell the activity that a- flinghas occurred from the view. In any case, I tried this and the methods weren't called when I touched the screen.
I really just need a concrete example of this working across views. What, when and how should I attach this listener? I need to be able to detect single clicks also.
// Gesture detection
mGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        int dx = (int) (e2.getX() - e1.getX());
        // don't accept the fling if it's too short
        // as it may conflict with a button push
        if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.absvelocityY)) {
            if (velocityX > 0) {
                moveRight();
            } else {
                moveLeft();
            }
            return true;
        } else {
            return false;
        }
    }
});
Is it possible to lay a transparent view over the top of my screen to capture flings?
If I choose not to inflate my child image views from XML can I pass the GestureDetector as a constructor parameter to a new subclass of ImageView that I create?
This is the very simple activity that I'm trying to get the fling detection to work for: SelectFilterActivity (Adapted from photostream).
I've been looking at these sources:
Nothing has worked for me so far and I was hoping for some pointers.
 
     
     
     
     
     
     
     
     
     
     
     
     
     There is 2 imports be careful in choosing that both are diferent
There is 2 imports be careful in choosing that both are diferent
 

 
     
     
     
     
     
     
     
     
     
     
     
    