【发布时间】:2012-06-05 22:36:27
【问题描述】:
我正在用 Sherlock 设置一个带有 3 个项目/图标的操作栏。 在 ICS 模拟器上运行,我只能看到 2 个图标。而且:没有溢出菜单(那 3 个点图标)! 如果我按下手机的菜单按钮,我只会看到第三个图标。
我是否必须强制使用溢出图标,如果是,我该怎么做?
【问题讨论】:
标签: java android actionbarsherlock android-actionbar
我正在用 Sherlock 设置一个带有 3 个项目/图标的操作栏。 在 ICS 模拟器上运行,我只能看到 2 个图标。而且:没有溢出菜单(那 3 个点图标)! 如果我按下手机的菜单按钮,我只会看到第三个图标。
我是否必须强制使用溢出图标,如果是,我该怎么做?
【问题讨论】:
标签: java android actionbarsherlock android-actionbar
我是否必须强制使用溢出图标,如果是,我该怎么做?
您需要做的就是让您的主题继承自.ForceOverflow 主题之一。请注意,这仅适用于 Android 2.0 和 3.0。在 4.0 中使用了原生的ActionBar 组件,只有在设备没有菜单键时才会显示溢出项。
【讨论】:
parent="Theme.Sherlock" 的主题了。如何继承 2 个主题?
Theme.Sherlock.ForceOverflow
.ForceOverflow 主题后缀已停用。 The issue is discused here
我是否必须强制溢出图标
没有。
默认情况下,您的模拟器设置为模拟具有屏幕外 MENU 键的设备,例如 Nexus S。此类设备不会有屏幕溢出菜单按钮 - 用户将使用 MENU 键访问溢出。其中许多设备,如 Nexus S,将从 Android 2.x 升级而来,用户已经习惯按 MENU 键来获取过去的选项菜单,现在是溢出菜单。
您可以切换您的模拟器来模拟没有屏幕外 MENU 键的设备。在您的 AVD 管理器中,对于 AVD,添加“Hardware Back/Home keys”属性(尽管有名称,但也有 MENU 键)并根据需要将其设置为 true 或 false。
【讨论】: