沉浸式Android Studio

Tam*_*ery 1 java api flags android

我希望我制作的游戏能够在沉浸式模式下运行,但是android studio无法识别标志沉浸式模式,因为我将最低API设置为16,并且我知道沉浸式模式仅在以后的KitKat中添加。有什么方法可以让我的应用程序在不改变最低API的情况下以沉浸式模式运行?

Mat*_*ski 5

是的,有可能,但是这种沉浸式模式只能在具有KitKat和更高版本的设备上使用。在您这边,这很奇怪,事实是,基于您的话语,您甚至无法获得如下这些标志:

View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
Run Code Online (Sandbox Code Playgroud)

(或其中的一部分)。如果是这种方式,则说明您的compileSdkVersion低于实际值。在开始时,我建议您将compileSdkVersion更新为22(并且还将targetSdkVersion也更新为22)(在build.gradle中都可以找到)

当您执行此操作时,您想在沉浸模式添加条件的地方使用这些标志,如下所示:

if (Build.VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
    int UI_OPTIONS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
    getWindow().getDecorView().setSystemUiVisibility(UI_OPTIONS);
}
Run Code Online (Sandbox Code Playgroud)

这样就不会在较旧的OS上混乱。

更新:第二个代码块已更新)