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

  • 原因:
  • 设置了全屏属性Theme.Light.NotittleBar.Fullscreen或者设置了activity对应的主题中android:windowTranslucentStatus属性,设置方式为:<item name="android:windowTranslucentStatus">true</item>,这是如果对应的页面上含有输入框,将会导致点击输入框时软键盘弹出后键盘覆盖输入框,导致输入框看不见。因为在全屏时,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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容