Android:全屏模式仍显示状态栏?

时间:2019-04-22 21:59:07

标签: android

我希望我的应用具有不带应用栏和状态栏的全屏模式。我的全屏模式无法正常工作。当我单击EditText时,将焦点设置在Edittext上(键入)时,状态栏就会显示。

我只在显示建议的edittext上注意到了此行为。我有一个用于密码的Edittext(android:inputType =“ textPassword”),它没有显示任何建议,并且当焦点位于EditText时状态栏不显示。但是,使用非密码EditText(android:inputType =“ text”)时,建议将显示(早期输入,在本例中为电子邮件),状态栏将在焦点设置在Edittext上后显示。

这是隐藏系统用户界面(=全屏显示)的代码:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        hideSystemUI();
    }
}

protected void hideSystemUI() {
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE
                    | 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);
}

有人知道为什么这样的行为吗?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以在您的styles.xml

中尝试吗
<style name="full_Screen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:background">@android:color/transparent</item>
</style>

将此样式添加到Activity中的AndroidManifest.xml

编辑:

您可以通过编程来隐藏状态栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);