【问题标题】:Action bar overflow not displayed操作栏溢出未显示
【发布时间】:2012-06-05 22:36:27
【问题描述】:

我正在用 Sherlock 设置一个带有 3 个项目/图标的操作栏。 在 ICS 模拟器上运行,我只能看到 2 个图标。而且:没有溢出菜单(那 3 个点图标)! 如果我按下手机的菜单按钮,我只会看到第三个图标。

我是否必须强制使用溢出图标,如果是,我该怎么做?

【问题讨论】:

    标签: java android actionbarsherlock android-actionbar


    【解决方案1】:

    我是否必须强制使用溢出图标,如果是,我该怎么做?

    您需要做的就是让您的主题继承自.ForceOverflow 主题之一。请注意,这仅适用于 Android 2.03.0。在 4.0 中使用了原生的ActionBar 组件,只有在设备没有菜单键时才会显示溢出项。

    【讨论】:

    • 嗯,我已经在使用 parent="Theme.Sherlock" 的主题了。如何继承 2 个主题?
    • @membersound:使用Theme.Sherlock.ForceOverflow
    • 顺便提一下,.ForceOverflow 主题后缀已停用。 The issue is discused here
    【解决方案2】:

    我是否必须强制溢出图标

    没有。

    默认情况下,您的模拟器设置为模拟具有屏幕外 MENU 键的设备,例如 Nexus S。此类设备不会有屏幕溢出菜单按钮 - 用户将使用 MENU 键访问溢出。其中许多设备,如 Nexus S,将从 Android 2.x 升级而来,用户已经习惯按 MENU 键来获取过去的选项菜单,现在是溢出菜单。

    您可以切换您的模拟器来模拟没有屏幕外 MENU 键的设备。在您的 AVD 管理器中,对于 AVD,添加“Hardware Back/Home keys”属性(尽管有名称,但也有 MENU 键)并根据需要将其设置为 true 或 false。

    【讨论】: