源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

老生常谈onTouch和onTouchEvent(必看篇)

  • 时间:2022-10-23 22:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:老生常谈onTouch和onTouchEvent(必看篇)
1.onTouch和onTouchEvent,都是在dispatchTouchEvent()中调用,onTouch优先于onTouchEvent执行。如果在onTouch方法中通过返回true将事件消费掉,onTouchEvent将不会再执行。另外需要注意的是,onTouch能够得到执行需要两个前提条件,第一mOnTouchListener的值不能为空,第二当前点击的控件必须是enable的。因此如果你有一个控件是非enable的,那么给它注册onTouch事件将永远得不到执行。对于这一类控件,如果我们想要监听它的touch事件,就必须通过在该控件中重写onTouchEvent方法来实现。 [b]1、onTouch方法:[/b] onTouch方法是View的 OnTouchListener借口中定义的方法。 当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。 (当把手放到View上后,onTouch方法被一遍一遍地被调用) [b]2、onTouchEvent方法:[/b] onTouchEvent方法是override 的Activity的方法。 重新了Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会别调用。 (当把手放到Activity上时,onTouchEvent方法就会一遍一遍地被调用) [b]3、touch事件的传递:[/b] 在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent 在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。 如果onTouch返回值为true, 表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity, 也就是说onTouchEvent方法不会被调用。 (当把手放到屏幕上后,onTouch方法被一遍一遍地被调用) 如果onTouch的返回值是false, 表示这个touch事件没有被tv完全处理,onTouch返回以后,touch事件被传递给Activity, onTouchEvent方法被调用。 以上这篇老生常谈onTouch和onTouchEvent(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部