android:inputMethod_part1

findDesiredInputMethodWindowIndexLocked分析
本文分析了findDesiredInputMethodWindowIndexLocked函数的工作原理,详细探讨了如何在窗口列表中寻找合适的IME目标窗口。文章解释了与窗口属性相关的影响因素,包括窗口类型、可见性及动画状态等。

findDesiredInputMethodWindowIndexLocked分析

在mWindow中查找能作为ImeTarget的窗口,应该是从最Top开始,找到一个即停下.

能作为ImeTarget窗口和窗口的mAttrs.flags相关,

FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM 这2个标志决定输入法窗口显示隐藏的,

为什么fl==0也可以,STARTING类型的窗口也可以?

另外要求可见等,可以理解


如果之前的ImeTarget窗口层值高,且正在执行消失动画,则不改变,这点在代码注释说的清楚


如果上个mInputMethodTarge窗口对应的token在动画,则试图找到相同token的其他窗口中最Top的窗口,在一阵条件下满足则以该窗口作为目标窗口,

否则会以上面的w 窗口作为目标窗口



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值