在android中的scrollview内处理longpress事件

时间:2015-08-03 10:11:26

标签: android

我有ScrollView,我有LinearLayout有4个孩子。我的问题是我的ScrollView会消耗事件,因此我无法长时间按下我的孩子观点。我尝试设置setLongClickable(false)但是没有用,如果我拦截触摸事件我无法滚动ScrollView

1 个答案:

答案 0 :(得分:1)

正常情况下,Android会使用长按来开始拖动这类情况,因为它有助于消除用户打算长按项目与滚动项目容器的歧义。但是,如果您在用户开始长按项目时有明确的信号,请在知道用户开始按下时从视图中尝试getParent().requestDisallowInterceptTouchEvent(true)。这将阻止ScrollView拦截触摸事件,直到当前手势结束。(请查看此链接https://developer.android.com/reference/android/view/ViewParent.html#requestDisallowInterceptTouchEvent%28boolean%29