软键盘可见时隐藏状态栏

Posted

技术标签:

【中文标题】软键盘可见时隐藏状态栏【英文标题】:Hiding status bar when softkeyboard is visible 【发布时间】:2016-07-03 01:48:39 【问题描述】:

我想在状态栏中隐藏状态栏,我就是这样做的:

if (Build.VERSION.SDK_INT < 16) 
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
         else 
            View decorView = activity.getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
            decorView.setSystemUiVisibility(uiOptions);
        

问题是当软键盘变得可见时(在 EditText 中键入),状态栏又回来了。

【问题讨论】:

【参考方案1】:

如果你想在 .java 上做,只需代码:

if (Build.VERSION.SDK_INT < 16) 
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        

但如果你想在xml上隐藏状态栏,只需代码:

<application
    ...
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    ...
</application>

查看http://developer.android.com/intl/es/training/system-ui/status.html 了解更多信息...

【讨论】:

这没有回答问题。该问题询问如何防止显示软键盘时出现状态栏。 FLAG_FULLSCREEN与显示软键盘时系统总是显示状态栏无关。

以上是关于软键盘可见时隐藏状态栏的主要内容,如果未能解决你的问题,请参考以下文章

弹出软键盘时标题栏隐藏

软键盘隐藏操作栏

导航栏中的 SwiftUI 元素不响应状态

ios 键盘状态栏的高度是多少

如何隐藏键盘助手栏

UINavigationBar 的高度错误,因为加载时状态栏被隐藏