Android,Call API 14方法但应与API 4保持兼容

时间:2012-05-04 12:15:08

标签: android android-4.0-ice-cream-sandwich statusbar

如果设备正在运行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设备保持兼容?

1 个答案:

答案 0 :(得分: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);
    }