您的位置:首页 > 移动开发 > Android开发

Android onInterceptTouchEvent 与onTouchEvent 事件处理

2013-05-06 16:35 381 查看
学习自定义控件, 类似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事件】

//
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐