【问题标题】:Remove ActionBar icon API < 11移除 ActionBar 图标 API < 11
【发布时间】:2013-04-10 20:28:25
【问题描述】:

我正在开发一个应与上述 8 中的 API 兼容的应用程序。 对于 API>=11 的版本,我在 ActionBar 标题中显示一些文本,对于 API

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

我怎样才能绕过它?

【问题讨论】:

    标签: android icons android-actionbar title


    【解决方案1】:

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

    【讨论】:

    • 谢谢,工作就像一个魅力!我会在几分钟内接受这个作为正确答案(StackOverflow 限制...)
    【解决方案2】:

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

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

    但我实际上建议您使用 google 自己的 android support package 来支持较低版本的功能。看看吧

    【讨论】:

    • 谢谢,我的项目中实际上有这个 v4 支持库。但是我可以在 API
    • @SzymonPrzedwojski 对不起。我的错。但是谷歌的建议是 库不支持 ActionBar。但是,在创建选项菜单时,您可以声明应在操作栏可用时将哪些项目添加到操作栏中(在 Android 3.0 或更高版本上)。您可以使用 MenuCompat.setShowAsAction() 方法来做到这一点这就是他们在谷歌应用程序中处理 ActionBar 的方式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 2013-05-05
    相关资源
    最近更新 更多