Android onInterceptTouchEvent 与onTouchEvent 事件处理

来源:互联网 发布:下载网站的软件 编辑:程序博客网 时间:2024/05/16 10:39



      学习自定义控件, 类似slidingmenu ,看别人代码仿~  

 碰到问题了, 不执行onInterceptTouchEvent   中的move, (因为想写一点代码 测试下, 就卡这了)

 纠结两天,终于有点头绪......

     网上有各种测试touch的例子,log可以看到执行了什么, 都是一个group,里面一个TextVIew, 且TextView的onTouch 返回的是true, 在TextView范围内,

滑动那么就会执行onInterceptTouchEvent中的move, 改成普通的TextView 后,那就不执行了


 随后我改成Button,发现  在Button范围内就又执行了.....  菜单出来后,没法拉回去.. 想到是焦点问题

 再看别人的demo,里面也没有button,或是点击事件之类, 就有一个ScrollView.!!!  

 就把自个的例子中菜单里面加一个ScrollView,  OK了。。。。。  (因为测试! 所以刚写的例子里面就一个TextVIew表示哪一个界面..)


  最浅的总结就是要执行onInterceptTouchEvent中的move,那么开始按下滑动的位置,须有控件消费了ontouch事件..

必须他里面有控件消费了ontouch,或是会抢焦点的控件 Button,ScrollView, 或是ListView.


////////////


 菜单中加个ScrollView,好像就差不多了。。。

 下面是相关学习连接

//

android中的事件类型分为按键事件和屏幕触摸事件       (这个就如我说的,若是普通TextView就不执行了..)

//

  demo连接 自定义Android滑动式菜单SlidingMenu(不依赖任何第三方库)

//

Android FrameWork——Touch事件派发过程详解

//

这篇中的红色字体 Android事件传递机制【Touch事件】

//


原创粉丝点击