我构建了一个非常简单的应用程序,它只包含一个网站的webview。 在我的onCreate上,我调用了以下全屏功能:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
结合
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
在我的清单中,这项工作非常精细,隐藏了标题栏以及底部的硬件按钮。
问题是我的网站上有一个搜索栏。一旦你点击它,软键盘就会弹出(这很好)。但是每当再次隐藏软键盘时,硬件按钮就不再隐藏了。我可以再次隐藏它们,例如再次调用该函数,但我更喜欢
a)硬件按钮会自动隐藏或
b)软键盘监听器,隐藏硬件按钮。
我没有弄清楚如何继续a)并且在访问了几十个为软键盘监听器(http://tech.leolink.net/2014/02/a-hack-to-catch-soft-keyboard-showhide.html)构建帮助类的网站之后我被困在b) 我认为问题是我在布局中使用了webview。
***** ******* UPDATE
我在这里找到了这个答案: Immersive mode navigation becomes sticky after volume press or minimise-restore
我只是调用UiChangeListener onCreate,它将始终返回全屏模式。