【问题标题】:Android ActionbarSherlock show menu button at topAndroid ActionbarSherlock 在顶部显示菜单按钮
【发布时间】:2013-03-08 18:55:20
【问题描述】:

我正在尝试在我的应用程序中实现 ActionBarSherlock,我需要在我的应用程序顶部显示菜单,并集成在操作栏中。问题是它不能正常工作。我是这样使用它的:

public boolean onCreateOptionsMenu(Menu menu) {
    menu.add("Refresh")
        .setIcon(R.drawable.ic_action_refresh)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    menu.add("Settings")
        .setIcon(R.drawable.ic_action_settings)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    return true;
}

所以我想要实现的是在我的操作栏右侧显示一个刷新图标和一个菜单图标,单击时应该打开默认菜单。我在 ActionbarSherlock Demos 中检查了ForcedOverflowItem 示例,但它没有按我的意愿工作。我需要看起来与 Android 2.+ 和 Android 4.+ 中的相同。

任何建议/帮助/建议我怎样才能让它工作?

【问题讨论】:

  • ICS+ 上无法显示溢出菜单,ABS 库已更新至 v4.2.0。移除 ForceOverflow
  • 所以你想要一个Overflow 菜单?

标签: android android-actionbar actionbarsherlock


【解决方案1】:

你可以做一个 xml 文件行。 我在其他帖子中看到了这一点,但我现在无法准确跟踪它。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/more"
        android:showAsAction="always"
        android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark">
        <menu>
            <item
                android:id="@+id/remove"
                android:showAsAction="withText|never"
                android:title="@string/remove">
            </item>
        </menu>
    </item>

</menu>

然后像普通菜单一样膨胀它。

public boolean onCreateOptionsMenu(Menu menu) {
        getSupportMenuInflater().inflate(R.menu.overlow, menu);
        return true;
    }

【讨论】:

  • 为什么投反对票?我正在使用这种方法。如果有问题请回复,以便我证明或学习新知识并更改我的代码。
【解决方案2】:

根据我在 ActionbarSherlock 的文档中阅读的内容,您不能强制菜单图标出现在 Android 4.+ 中。当设备有菜单按钮时,菜单图标不会出现。我猜写 ActionbarSherlock 的人很了解这个主题;-)

【讨论】:

    【解决方案3】:

    请阅读 dorjeduck 的回答。如果您想在所有设备上拥有相同的体验,您必须使用他的子菜单添加自定义菜单。这是代码摘要:

    SubMenu sub = menu.addSubMenu("More");
    sub.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
    sub.add(0, MENU_SETTINGS, 0, "Settings");
    

    【讨论】:

    • 是的,但它不适用于tabactivity,因为我的应用程序正在使用选项卡,不像在 android 4.0 api - 片段中那样。
    • 我不明白,你的问题和 tabactivity 有什么联系?但您可以将标签更改为操作栏的标签
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多