美文网首页
Android悬浮球软键盘避让功能实现

Android悬浮球软键盘避让功能实现

作者: 莫萧涵 | 来源:发表于2017-04-10 11:35 被阅读0次

     最近公司项目需要写一个悬浮球,其中有个功能是键盘避让想了很久(踩了很多坑)- -!,记录下来,供大家参考。

    首先网上的一些实现并不管用。

    比如监听布局高度的变化,只能在应用内实现,全局并不能监听的到。

    还有的是使用Notifacation监听输入法变化来实现,这个方法要求有点苛刻,要求手机必须安装俩个以上的输入法。(而且在原生系统貌似也没啥用)

    Android也没有提供特定的API监听软键盘弹出关闭。

    由于是公司自己做Rom,所以可以从源码层级考虑,修改Framework相关代码来实现,撸了一遍输入法相关的源码。发现InputmethodManagerService中有两个方法showSoftInput 和hideSoftInput 于是打开Log试了一下,发现可以在这两个方法中监听键盘打开和关闭。发两个广播就可以了。

    接收到广播,在项目中接收广播,修改悬浮球位置即可。

    相关文章

      网友评论

          本文标题:Android悬浮球软键盘避让功能实现

          本文链接:https://www.haomeiwen.com/subject/ukeojttx.html