gpt4 book ai didi

android - ScrollView 和 OnGestureListener

转载 作者:行者123 更新时间:2023-11-29 21:49:03 24 4
gpt4 key购买 nike

这是布局 -

 <ScrollView>

<RelativeLayout>

<Layout1>
</Layout1>

<Layout2>
</Layout2>

<Layout3>
</Layout3>

<Layout4>
</Layout4>

<Layout5>
</Layout5>

<Layout6>
</Layout6>
</RelativeLayout>
</ScrollView>

我在 Activity 中实现了 onGestureListener
我必须检测滑动操作 - 在各个布局(布局 1 到布局 6)上向上滑动和向下滑动。由于布局位于 scrollview 中,因此未检测到滑动操作 (OnFling)。
如何检测 ScrollView 的子元素的onFling
任何帮助将不胜感激。

编辑:添加一些代码 -

这是 Activity -

  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。谷歌更多。我不确定。

关于android - ScrollView 和 OnGestureListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14934747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com