这是布局-
<ScrollView>
<RelativeLayout>
<Layout1>
</Layout1>
<Layout2>
</Layout2>
<Layout3>
</Layout3>
<Layout4>
</Layout4>
<Layout5>
</Layout5>
<Layout6>
</Layout6>
</RelativeLayout>
</ScrollView>
我已经在Activity中实现了onGestureListener。我必须检测滑动动作-在各个布局(布局1到布局6)上向上滑动和向下滑动。由于布局位于滚动视图中,因此未检测到滑动动作(OnFling)。如何为滚动视图的子元素检测onFling?我们将不胜感激。
编辑:添加一些代码-
这是活动-
public class ServiceScreen extends Activity implements OnFocusChangeListener,
OnTouchListener, OnGestureListener ....
布局和监听器-
RelativeLayout rlCarBrand;
....
rlCarBrand.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return gestureScanner.onTouchEvent(event);
}
});
覆盖方法-
@Override
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
Log.i("LogMessage", "On Fling");
return true;
}
@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return true;
}
最佳答案
尝试扩展ScrollView类,并覆盖这些onDown和onFling。
像这样的东西
@Override
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
super.onFling(arg0,arg1,arg2,arg3);
return false;
}
看看是否可行。
重点是从使用手势事件的scrollview方法返回false。
谷歌更多。我不确定。