目前正在做类似课程表的应用,需要手指触碰外部的 viewgroup, viewgroup 可以随意移动,里面的子 view 只要监听 onClick 和onLongClick 事件,请问有什么办法能够确保两者不冲突?
现在的情况是如果手指一开始放到 子 view 上面移动外部的 viewgroup 不能移动,onInterceptTouchEvent中只能从 down 开始捕获,然而这个不好判断,只能根据用户先触碰子 view 然后是否有滑动来判断捕获,可是那时事件已经在子 view 中消费了,viewgroup 也捕捉不到了,想问下有什么其他的方法来解决这个问题?
天蓬老师2017-04-17 17:31:11
하위 뷰가 다운 이벤트를 수신하면 해당 이벤트를 소비하지 않고 대신 현재 하위 뷰인 이 다운 이벤트의 대상을 기록하도록 부모 뷰에 알립니다. Move, Cancel, Up 이벤트가 모두 넘겨집니다. 부모 View를 처리합니다
Up 이벤트가 발생하면 부모 View가 터치 지점의 변위를 특정 값보다 작은 것으로 간주합니다. 움직임이 발생하지 않았습니다. 이는 이 이벤트가 클릭 이벤트임을 의미합니다. 상위 뷰의 위치를 복원한 다음 수동으로 대상을 호출합니다. 클릭 이벤트는
타이머를 추가하면 OK
입니다.