gpt4 book ai didi

Android - 全屏模式下的 Webview 如果存在软键盘,如何隐藏通知栏

转载 作者:太空狗 更新时间:2023-10-29 14:11:53 25 4
gpt4 key购买 nike

我使用 WebView 开发了一个小型 Android 应用程序。使用以下方法隐藏所有 Android UI 元素,如通知栏、状态栏、操作栏:

  private void hideSystemUI() {
// Set the IMMERSIVE flag.
// Set the content to appear under the system bars so that the content
// doesn't resize when the system bars hide and show.
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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);

如果我打开一个 HTML 公式并点击一个输入字段,就会出现软键盘。但随后也会出现 Android 通知栏,这是我不想要的。(参见图片:http://imgur.com/a/cKWg8#0)如果我通过软键盘上的左上键关闭软键盘,通知栏仍保持打开状态并占据我 HTML 页面上标题栏的一部分。如果软键盘打开,如何隐藏通知栏?

谢谢!

最佳答案

这对我有用。在 onCreate 中调用:

private void setupFullscreenMode() {
View decorView = setFullscreen();
decorView
.setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
setFullscreen();
}
});
}

private View setFullscreen() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
return decorView;
}

同时覆盖 onWindowsFocusChanged:

public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
setFullscreen();
}
}

关于Android - 全屏模式下的 Webview 如果存在软键盘,如何隐藏通知栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com