我有LinearLayout,它有1)视图,2)有一个手势探测器。我的问题是,当我想在线性布局上做一个投掷手势时,如果我的手指遇到任何视图,它将抛出一个MotionEvent.ACTION_CANCEL,这将阻止onFling()回调触发。
我无法真正禁用这些前景视图上的触摸,因为它们是启动Intents的导航的一部分。
THX, -mL
答案 0 :(得分:0)
听起来好像您的GestureOverlayView可能是布局中的根元素?
简短的例子:
<android.gesture.GestureOverlayView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gestureStrokeType="multiple"
android:eventsInterceptionEnabled="true"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</android.gesture.GestureOverlayView>
见这里: http://developer.android.com/resources/articles/gestures.html
答案 1 :(得分:0)
您需要创建LinearLayout(通过简单地扩展Android的LinearLayout)并覆盖onInterceptTouchEvent。这是在孩子之前调用的,如果它返回真正的父母窃取来自孩子的触摸。 http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)