开启windowTranslucentStatus导致输入法弹出时覆盖输入框问题的解决方法

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

此为blog备份,原地址:http://blog.yzapp.cn/开启windowTranslucentStatus导致输入法弹出时覆盖输入框问题的解决方法.html

你可能感兴趣的:(开启windowTranslucentStatus导致输入法弹出时覆盖输入框问题的解决方法)