View.SYSTEM_UI_FLAG_FULLSCREEN在HUAWEI P20上不起作用

时间:2019-02-18 16:56:46

标签: android fullscreen statusbar huawei

我遇到了一个问题,即必须在全屏模式下输入活动/片段(如果用户展开视图)。 通过使用以下代码,这实际上可以(几乎)在所有设备上运行:

 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

但是,以某种方式,HUAWEI P20并非如此。它隐藏状态栏,但有一个空白,底部内容与底部导航重叠。 在其他设备上,它可以正确显示(全屏,无空格)。 我尝试在任何可能的地方使用android:fitsSystemWindows="true",但没有任何办法可以解决此问题。

编辑: 我实际上也隐藏了工具栏,但是该部分在所有设备(包括华为P20)上都能正常工作。 问题是华为P20上的状态栏

有什么建议吗?

照片:

enter image description here

1 个答案:

答案 0 :(得分:0)

也许您忘了添加额外的两行。

ActionBar actionBar = getActionBar();
actionBar.hide();

您可以使用manifest.xml,将主题添加到目标活动中。

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

或者,您可以通过编程进行设置。

if (Build.VERSION.SDK_INT < 16) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
else
{
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
}

有关更多信息,请阅读android documentation