【问题标题】:Honeycomb Action Bar not showing (baffled)蜂窝操作栏未显示(困惑)
【发布时间】:2013-10-14 08:18:02
【问题描述】:

我完全感到困惑。我创建了一个 minSDK=4 和 targetSDK=11 的应用程序。在 Xoom 平板电脑上编译并运行。我没有得到操作栏,也无法弄清楚我做错了什么。我盯着屏幕看了好几个小时,不知道我做了什么会导致酒吧消失。帮助!关于我为什么看不到操作栏的任何建议?

【问题讨论】:

  • 请发布不起作用的代码,并检查 logcat 是否有任何线索并将其发布。如果没有更多信息,几乎不可能确定可能的原因。还值得一提的是,如果您使用的是 Android ActionBar 类,则在 API 级别 11 及更高版本中受支持,您需要在 11 之前的操作系统版本上检测和处理此问题。
  • 还可以查看 API 演示示例,例如FragmentLayout 看看你可能出错的地方。
  • 嗯,我想这是问题所在,因为根据文档...“在这个例子中,应用程序需要 API 级别 4 (Android 1.6) 的最低版本,但它也针对 API 11 级(Android 3.0)。这样,当应用程序安装在运行 Android 3.0 或更高版本的设备上时,系统会将全息主题应用于每个活动,因此,每个活动都包含操作栏。所以我真的没有对我的应用程序做任何事情,因为我的印象是 Action Bar 刚刚出现。
  • 是的,现在正在敲钟。您需要 Holo 主题。请参阅link“添加操作栏”的第一行@
  • 介意将其放入答案并接受它以供其他人更容易找到吗?谢谢

标签: android android-3.0-honeycomb android-actionbar


【解决方案1】:

您需要在 Manifest xml 中为 Activity 声明 android:theme="@android:style/Theme.Holo"

开发指南说你只需要设置目标SDK版本,但它不起作用。

【讨论】:

    【解决方案2】:

    我引用here: “如果您为操作栏使用支持库 API,那么您必须使用(或覆盖)Theme.AppCompat 系列样式(而不是 Theme.Holo 系列,在 API 级别 11 及更高级别中可用)。”

    我在清单中使用了android:theme="@style/Theme.AppCompat",然后出现了操作栏。

    【讨论】:

      【解决方案3】:

      Romulus 的回答,强制应用程序使用 Holo 主题将起作用,但如果您的 minSDK 小于 11,则会导致编译错误。

      检查你是否在AndroidManifest中定义了主题:

      android:theme="@style/XXXXXXXXXXXXXXXXX"
      

      这意味着您正在强制应用使用特定主题,因此操作栏可能不会出现在 Honeycomb 或更高版本的设备上(这取决于主题是否指定了操作栏)。删除此语句,使 App 使用默认的设备主题,因此在蜂窝前的设备上出现设置菜单,在蜂窝后的设备上出现操作栏。任务完成。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-28
        • 1970-01-01
        • 2013-12-09
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        相关资源
        最近更新 更多