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