android - View.SYSTEM_UI_FLAG_FULLSCREEN 不适用于 HUAWEI P20

标签 android fullscreen statusbar huawei-mobile-services

我有问题, Activity/fragment 必须以全屏模式进入(如果用户展开 View )。 这实际上适用于(几乎)所有设备,使用以下代码:

 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

但是,不知何故,HUAWEI P20 并非如此。它隐藏状态栏,但有一个空白,底部内容被底部导航重叠。 在其他设备上,它显示正确(全屏,无空白)。 我尝试尽可能地使用 android:fitsSystemWindows="true" 但没有什么可以解决这个问题。

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

有什么建议吗?

照片:

enter image description here

最佳答案

可能是你忘了添加额外的两行。

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

您可以使用您的manifest.xml,将主题添加到您的目标 Activity 。

<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 .

关于android - View.SYSTEM_UI_FLAG_FULLSCREEN 不适用于 HUAWEI P20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54752038/

相关文章:

Flutter:更改状态栏文本颜色无法正常工作

java - 如何在 Android 中禁用状态栏?

android - Android 是否需要 JAXB 实现?

java - 如何在LWJGL中制作全屏?

Android Facebook session 问题

flash - AS3 : Does `FullScreenEvent` temporarily add things to the display list?

android - ProgressDialog 上的主题使其全屏

ios6 - 使用状态栏在 Xcode 4.5 iOS 6.0 中更改为横向

java - Android Launcher2源码导入

android - 是否可以在 gcc 编译器中使用 clang std 库?