我正在 ICS 上创建一个操作栏。由于间距的原因,仅显示图标。 但如果按下手机的菜单按钮,我还想将操作栏作为上下文菜单提供和文本。
我怎样才能实现这个目标?
Atm 我有 3 个图标。其中 2 个显示在操作栏的顶部。 如果我按下菜单电话按钮,第三个将显示为上下文菜单!但我想拥有这三个。
class MyActivity extends SherlockFragmentActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
/* IMPLEMENTATION HERE */
}
}
最佳答案
来自 Menus 的文档:
If a menu item does not appear as an action item, then the system places it in the overflow menu.
因此,不可能在操作栏和溢出菜单中显示相同的操作项。您可以做的是:
检查(在运行时)哪些菜单项适合操作栏,哪些不适合。
对于操作栏中显示的每个菜单项,动态创建一个新的、相同的菜单项,并确保调用
newMenuItem.setShowAsAction(SHOW_AS_ACTION_NEVER)
以确保其显示在溢出菜单中(带文本)。
在我看来,这违背了 Android 的菜单设计标准,我不建议这样做。在您看来,这可能是一个更好的设计选择,但用户希望应用程序在整个 Android 平台上保持一致。以奇怪的方式操作菜单可能会导致困惑,并可能对用户体验产生负面影响。
关于java - 还为菜单按钮显示操作栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905518/