菜单项

时间:2015-06-27 15:29:45

标签: android menu android-notifications menuitem

我想在溢出堆栈的菜单项上显示通知编号,以指示有x个可用更新。我知道你可以在菜单项上设置一个图标,但是我想在菜单项的右侧显示数字(Instabridge这样做表示热点索引已经更新)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为你正在谈论的溢出堆栈是OverflowPopup。如果没有,这两个问题可以解决您的问题:Actionbar notification count icon (badge) like Google hasAdd new item count to icon on button - Android

对于弹出窗口,您可能希望为通知编号创建自定义菜单视图,因为库不支持此模式。 (可能有更好的方法。)

但是,创建自定义菜单视图有点复杂。这是我从阅读源代码中获得的,未经测试!

首先,您需要创建 MenuView.ItemView 并为其添加通知编号。您可以创建一个实现此界面的新视图,也可以使用android' s android.support.v7.internal.view.menu.ActionMenuItemView

然后,您需要使用自定义的 ActionMenuPresenter 来使用菜单视图。在 ActionMenuPresenter 中,您可以将构造函数的第二个参数更改为您的视图。

public ActionMenuPresenter(Context context) {
    super(context, R.layout.abc_action_menu_layout, R.layout.abc_action_menu_item_layout);
}

或覆盖 BaseMenuPresenter.createItemView 方法。

最后,您需要使用工具栏连接 ActionMenuPresenter

请参阅源代码以获取更多详细信息。