【发布时间】:2012-05-13 23:42:23
【问题描述】:
如果设备正在运行 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 设备兼容?
【问题讨论】:
-
检查 api 级别并仅在 api >= 14 并且在较低的 api 请求全屏时调用该方法。支持 api 4 真的没有必要恕我直言
-
感谢 WarrenFaith,没想到这一点。 [Build.VERSION.SDK_INT > 11] 效果很好!
-
请注意,它在 Android 2.0 及更高版本上“效果很好”。在 Android 1.x 上,您需要做更多的事情来避免
VerifyError。 -
大声笑,是的。但是 minSdkVersion 是 4 ;-)
标签: android android-4.0-ice-cream-sandwich statusbar