学习自定义控件, 类似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事件】
//