android - 4.4以下沉浸式全屏

标签 android fullscreen android-4.4-kitkat android-fullscreen android-4.2-jelly-bean

我有一个想要全屏运行的应用。如果我有一个 4.4 KitKat 的设备,很容易设置 SYSTEM_UI_FLAG_IMMERSIVE 以使应用程序进入纯全屏状态。 但是,如果我有一个 API 低于 4.4 的设备。我不知道如何让它全屏,就好像它是具有沉浸式支持的 KitKat。

我可以设置全屏,并隐藏导航标志以使应用程序进入全屏状态,但是一旦单击屏幕,这些标志就会重置,现在将同时显示导航栏和状态栏。

有没有一种解决方案可以让我在带有 JB 和可能的 ICS 的设备上“模拟”沉浸式模式(不一定在下面)。

我有一个方法 hideSystemUI,它在 OnSystemUiVisibilityChangeListener 触发时运行,目前看起来像这样。

private void hideSystemUI() {
        actionBar.hide();
        isMenuVisible = false;
        if (currentapiVersion >= android.os.Build.VERSION_CODES.KITKAT){
            mDecorView.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 
                | View.SYSTEM_UI_FLAG_FULLSCREEN                
                | View.SYSTEM_UI_FLAG_IMMERSIVE);
        }
        else{
            mDecorView.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
                | View.SYSTEM_UI_FLAG_FULLSCREEN);
        }
}

我需要进行哪些更改才能使应用全屏显示,而不是在每次点击时显示导航栏和状态栏,而是从顶部或底部滑动。

最佳答案

这是你将要得到的最接近的:

if (Build.VERSION.SDK_INT >= 19) {
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
} else {
    if (Build.VERSION.SDK_INT > 10) {
        findViewById(android.R.id.content).setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }
}

并且不支持 SDK 低于 10 的设备。无论如何,那些 clown 们需要获得现代 android。

关于android - 4.4以下沉浸式全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652352/

相关文章:

android - 在 Android 项目中使用 Gradle 解决依赖项时出错

java - JPanels、JFrames 和 Windows,天哪!

iphone - 如何全屏显示ImageView?

android - 宽度 :100% in CSS not rendering well in Android 4. 4

android - 使用 setGroup() 的 Kitkat(API 19)中的堆栈通知不起作用

android - 单击项目时取消选中项目

java - Android Studio 仅在 Ubuntu 上以控制台模式运行

android - 如何在Android应用程序的onClick事件中添加声音?

android - 为什么 Android 模拟器比 iPhone 模拟器慢很多?

c++ - Win32 : Add black borders to fullscreen window