0

如果设备正在运行 ICS,我想隐藏状态栏:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

但是View.SYSTEM_UI_FLAG_LOW_PROFILE参数是在 Android API 14 中定义的。

我的清单现在是:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

但随后它崩溃了:

java.lang.NoSuchMethodError: android.view.View.setSystemUiVisibility

我该怎么做才能调用此方法并使其与 API 级别较低的 Android 设备兼容?

4

1 回答 1

2

您可以通过使用获取版本

int SDK_INT = android.os.Build.VERSION.SDK_INT;

你可以在设置参数之前检查版本

if(SDK_INT >= 11 && SDK_INT < 14) {
        getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
    }else if(SDK_INT >= 14){
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }
于 2012-05-04T12:32:27.497 回答