I have a screen where I have a header, a TextView inside a ScrollView and footer. I have to use ScrollView as the Text in the TextView can be long also.
Now when I am using SimpleOnGestureListener for this screen. It is not working for the ScrollView section. Removing the ScrollView everything working fine. But for the case of long text, some text are getting missed.
I want to use onFling and onDoubleTap in SimpleOnGestureListener.
Please advise.
Regards, Shankar
I got the solution for this issu
Add following method in the your Activity class
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
super.dispatchTouchEvent(ev);
return gestureScanner.onTouchEvent(ev);
}
As suggested in the below link:
http://groups.google.com/group/android-developers/browse_thread/thread/9fdfb03d0959e299
You have to create a custom ScrollView object and override it's onTouchEvents to also check for your gestures. It's demonstrated in the following code.
public class GestureScrollView extends ScrollView {
GestureDetector myGesture;
public GestureScrollView(Context context, GestureDetector gest) {
super(context);
myGesture = gest;
}
public GestureScrollView(Context context) {
super(context);
}
public GestureScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (myGesture.onTouchEvent(ev))
return true;
else
return super.onTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (myGesture.onTouchEvent(ev))
return true;
else
return super.onInterceptTouchEvent(ev);
}
}
Let me know if you run into any issues. :)
-Zaid
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With