android焦点影响点击事件,Android 事件传递与焦点处理(tv)

1、概述

上节介绍了android tv app 与android mobile app 的一些表现形式的不同。在实际编程中需要很多的焦点处理,而焦点处理有经常是在事件传递函数内处理的。所以本节做个android 事件传递与焦点处理的小结。另既然描述到android事件传递不可避免就涉及到了android手势拦截。这也是对原有知识认识的一个补充,因为之前涉及到安卓事件传递就是为了做手势拦截,以至于当看到代码在手势分发函数里处理tv的焦点,与界面移动填充时。一时有点迷糊,为什么是写在dispathKeyEvent里不是写在onInterceptTouchEvent里。原因就是因为这是在事件传递流程里处理焦点,而不是在事件传递流程里拦截事件。

2、Android简单的事件传递流程

提到android事件传递流程肯定会涉及到几个以下几个函数

函数

说明

备注

dispathTouchEvent (MotionEvent ev)

事件分发(手势分发)

触摸屏-手机

dispatchKeyEvent(KeyEvent event)

事件分发

遥控- tv

onInterceptTouchEvent

事件拦截(手势拦截)

返回true: 事件被拦截,事件传递给自己的

onTouchEvent

返回false:事件继续传递

ViewGroup才有

onTouchEvent

事件处理

返回true:事件被消费终止传递

返回false:继续传递

表1

Android事件传递有两种事件,一种是触摸屏的触摸事件,一种就是按键事件&

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值