我有一个屏幕,我有一个标题,一个ScrollView和页脚内的TextView。我必须使用ScrollView,因为TextView中的Text也可以很长。
现在,当我在此屏幕上使用SimpleOnGestureListener时。它不适用于ScrollView部分。删除ScrollView一切正常。但对于长文本的情况,有些文本会被遗漏。
我想在SimpleOnGestureListener中使用onFling和onDoubleTap。
请告知。
此致 香卡
答案 0 :(得分:13)
我得到了这个问题的解决方案
在您的Activity类
中添加以下方法@Override
public boolean dispatchTouchEvent(MotionEvent ev){
super.dispatchTouchEvent(ev);
return gestureScanner.onTouchEvent(ev);
}
如以下链接所示:
http://groups.google.com/group/android-developers/browse_thread/thread/9fdfb03d0959e299
答案 1 :(得分:3)
您必须创建一个自定义ScrollView对象并覆盖它的onTouchEvents以检查您的手势。它在以下代码中进行了演示。
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);
}
}
如果您遇到任何问题,请告诉我。 :)
-Zaid