- 原因:
- 设置了全屏属性Theme.Light.NotittleBar.Fullscreen或者设置了activity对应的主题中android:windowTranslucentStatus属性,设置方式为:<item name="android:windowTranslucentStatus">true</item>,这是如果对应的页面上含有输入框,将会导致点击输入框时软键盘弹出后键盘覆盖输入框,导致输入框看不见。因为在全屏时,adjustResize属性已经失效了,该问题是系统的一个bug。
- 解决方法:
- 可以设置adjust属性为adjustPan属性,该属性不会失效,但是由于adjustPan会将页面整体平移,以留出输入法空间,会有一个抖动的效果,体验很差。
- 官方解决方案:
官方其实也发现了问题,因此在android.support.design.internal下也重写了FrameLayout来解决该问题,把FrameLayout改成这个android.support.design.internal.ScrimInsetsFrameLayout也可以解决。 - 去掉对4.4状态栏颜色的支持,使用5.0提供的方法。
此为blog备份,原地址:http://blog.yzapp.cn/开启windowTranslucentStatus导致输入法弹出时覆盖输入框问题的解决方法.html