1

我正在开发一个应与上述 8 中的 API 兼容的应用程序。对于 API>=11 的版本,我在 ActionBar 标题中显示一些文本,而对于 API<11,文本显示在 TitleBar 中。这是由 Android 自动处理的。

如果 API 是 11 或更高版本,我想去掉 ActionBar 图标,以便为文本腾出更多空间。但是,Eclipse 不会让我打电话getActionBar()说我的最低 API (8) 太低。

我怎样才能绕过它?

4

2 回答 2

6

您可以将所有 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。

于 2013-04-10T12:14:00.817 回答
2

您可以通过以下方式查看您的安卓版本

 if (android.os.Build.VERSION.SDK_INT < 11) 
 {
      //your code
 }

但我实际上建议您使用谷歌本身的这个android 支持包来支持较低版本的功能。一探究竟

于 2013-04-10T12:24:27.360 回答