我正在开发一个应与上述 8 中的 API 兼容的应用程序。对于 API>=11 的版本,我在 ActionBar 标题中显示一些文本,而对于 API<11,文本显示在 TitleBar 中。这是由 Android 自动处理的。
如果 API 是 11 或更高版本,我想去掉 ActionBar 图标,以便为文本腾出更多空间。但是,Eclipse 不会让我打电话getActionBar()
说我的最低 API (8) 太低。
我怎样才能绕过它?
我正在开发一个应与上述 8 中的 API 兼容的应用程序。对于 API>=11 的版本,我在 ActionBar 标题中显示一些文本,而对于 API<11,文本显示在 TitleBar 中。这是由 Android 自动处理的。
如果 API 是 11 或更高版本,我想去掉 ActionBar 图标,以便为文本腾出更多空间。但是,Eclipse 不会让我打电话getActionBar()
说我的最低 API (8) 太低。
我怎样才能绕过它?
您可以将所有 ActionBar 调用包装在:
if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB) {
// call something for API Level 11+
}
您收到的错误可能是 Lint 警告,您应该能够进入首选项并将其级别降低为警告,以便您的代码仍然可以编译。
此外,您可以考虑使用ActionBarSherlock在低于 API 11 的设备上获取 ActionBar。
您可以通过以下方式查看您的安卓版本
if (android.os.Build.VERSION.SDK_INT < 11)
{
//your code
}
但我实际上建议您使用谷歌本身的这个android 支持包来支持较低版本的功能。一探究竟