还显示菜单按钮的操作栏?

时间:2012-06-05 21:51:48

标签: java android actionbarsherlock

我正在ICS上创建一个操作栏。由于间距,仅显示图标。 但是,如果按下手机的菜单按钮,我还想将操作栏提供为带有文本的上下文菜单

我怎样才能做到这一点?

Atm我有3个图标。其中2个显示在操作栏的顶部。 如果我按下菜单电话按钮,则第3个显示为上下文菜单!但是我想拥有它们中的所有3个。

class MyActivity extends SherlockFragmentActivity {
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();

        /* IMPLEMENTATION HERE */
    }
}

1 个答案:

答案 0 :(得分:1)

来自Menus的文档:

  

如果菜单项没有显示为操作项,则系统会将其放在溢出菜单中。

因此,在操作栏中显示相同的操作项是不可能的。您可以做的是:

  1. 检查(在运行时)哪些菜单项适合操作栏,哪些菜单项不适合。

  2. 对于操作栏中显示的每个菜单项,动态创建一个新的相同菜单项,确保调用newMenuItem.setShowAsAction(SHOW_AS_ACTION_NEVER)以确保它显示在溢出菜单中(带文本)。

  3. 在我看来,这违反了Android的菜单设计标准,我不建议这样做。它可能看起来像是一个更好的设计选择,但用户希望应用程序在整个Android平台上保持一致。以奇怪的方式操作菜单会导致混淆,并可能对用户体验产生负面影响。