大圣代
大圣代
一开始 ViewGroup 会接受到整个事件序列的第一个事件:ACTION_DOWN,ViewGroup#dispatchTouchEvent 收到 ACTION_DOWN 后开始询问 ViewGroup#onInterceptTouchEvent 是否需要拦截,默认情况下 ViewGroup#onInterceptTouchEvent 返回 false 不拦截,开始向下传递 ACTION_DOWN 事件,Buttton#dispatchTouchEvent 收到 ACTION_DOWN 询问 onTouchEvent 是否处理,Button 默认处理,此后的所有事件序列都直接跨过 ViewGroup#onInterceptTouchEvent 的判断直接传递给 Button,但 ViewGroup#dispatchTouchEvent 会收到所有事件。 在 move 过程中 Button#onTouchEvent 发现当前坐标已经移出...
> ### 杭州-张钊 > 事件自下往上,先进viewgroup的onintercept方法,不拦截然后给子view,到了button,button消费这个事件,手指划开了,调用button的oncancel,事件就取消了,松手再ontouchup,整个时间流程。 > > ### ViewGroup 拖拽不让其拖出屏幕,说说你的实现思路和注意事项 > 这个是不是滑动撞边的动画效果类似?思路:通过ondrophelper或者另一个方法实现拖拽效果,然后判断和屏幕的边距 你的意思是说 Button 会接收到 ACTION_CANCEL 事件吗?