android面试题之触摸事件分发与处理简述

来源:互联网 发布:淘宝换ipad电池 编辑:程序博客网 时间:2024/06/06 07:13

android触摸事件分发与处理

    android的分发机制:由父控件判断是否拦截,如果不拦截事件,则继续分发到子控件,然后一直分发下去。

    处理:与分发相反,由子控件先处理事件,如果子控件不处理,则交给父控件处理,一直向上传递,直到那个控件处理了触摸事件

   相关方法:Boolean dispatchTouchEvent(MotionEvent ev)接收到触摸事件是否分发事件到下面的view,返回true分发触摸事件

                     Boolean onInterceptTouchEvent(MotionEvent ev)接收到触摸事件是否拦截事件,返回true拦截,则调用onTouchEvent方法处理事件,返回false,继续向子控件传

                     Boolean onTouchEvent(View v,MotionEvent event)是否响应事件返回true,响应;返回false不响应

                     Boolean onTouch(View v,MotionEvent event)是否响应事件,当view调用了setOnTouchListener方法设置了触摸监听器,则事件响应的时候先调用onTouch方法

                      返回true,响应,onTouchEvent方法不执行;返回false时相反

                   voidrequestDisallowInterceptTouchEvent(Boolean disallowIntercept)请求父控件是否不拦截事件,返回true:不允许父控件的onInterceptTouchEvent调用,false 允许


                  


2 0