键盘打开且导航栏隐藏时不调用 OnGlobalLayout

问题描述

我使用以下代码制作了一个全屏活动(带有隐藏导航栏):

window.decorView.systemUIVisibility = 
        View.SYstem_UI_FLAG_LOW_PROFILE or
        View.SYstem_UI_FLAG_FULLSCREEN or
        View.SYstem_UI_FLAG_LAYOUT_FULLSCREEN or
        View.SYstem_UI_FLAG_LAYOUT_STABLE or
        View.SYstem_UI_FLAG_IMMERSIVE_STICKY or
        View.SYstem_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
        View.SYstem_UI_FLAG_HIDE_NAVIGATION

此活动的软输入模式是adjustResizeandroid:windowSoftInputMode="adjustResize"

活动中有一个 WebView,并且存在一个已知问题,即 adjustResize 在全屏模式下不起作用。这是一个 workaround,其主要思想是在键盘打开/关闭时简单地调整活动内容视图的大小。为此,解决方法是通过 OnGlobalLayoutListener#onGlobalLayout 侦听布局更改。 该解决方法可以完美运行,但仅当导航栏未隐藏时才有效。 我查看并注意到 OnGlobalLayoutListener#onGlobalLayout 在导航栏隐藏时不会被调用。这对我来说似乎是一个错误。你能解释一下为什么它不能被调用,有什么解决办法吗?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)