Android-InputStage

InputStage
输入事件的传递过程如下,每个阶段都有拦截传递的能力。

NativePreImeInputStage 分发早于IME的InputEvent事件到NativeActivity中去处理, NativeActivity和普通acitivty的功能区别不大,只是很多代码都在native层去实现,这样执行效率更高,并且NativeActivity在游戏开发中很实用。 不支持触摸事件。
ViewPreImeInputStage 分发早于IME的InputEvent到View框架处理,会调用view的onkeyPreIme方法,这样就给View在输入法处理key事件之前先得到消息并处理的机会,可以直接复写onKeyPreIme,比如back事件处理。 不支持触摸事件
ImeInputStage 分发InputEvent到IME处理 ImeInputStage的onProcess方法会调用InputMethodManager的dispatchInputEvent方法处理消息。 不支持触摸事件。
EarlyPostImeInputStage 输入法之后输入事件就会流到该阶段,这个是touchmode相关的,比如你的手机有方向键,按方向键会退出touchmode,这个事件被消费,有可能会有view的背景变化,但不确定。支持触摸事件。
NativePostImeInputStage 分发InputEvent事件到NativeActivity,为了让IME处理完消息后能先于普通的Activity处理消息。此时支持触摸事件。
ViewPostImeInputStage 分发InputEvent事件到View框架,支持触摸事件。view的事件分发!!!
SyntheticInputStage 未处理的InputEvent都会传到这个阶段,例如手机上的虚拟按键消息
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值