2013-02-18 103 views
1

我正在使用ActionBar,并且因为我具有消息传递功能,所以我想在ActionBar中通知用户他是否有任何未读消息。它看起来有点像这样:ActionBar(Sherlock)在顶部显示带有消息数量的图标

Messages unread - example notification

不过,我似乎无法找到,如果这是支持的。那么,有没有人知道这是否被支持,以及如何以这种方式在现有的ActionBar项目上添加一个图标?

+0

你碰巧得到这个启动和运行,如果是的话,你会愿意更新我们的片段瓦特。你最终做了什么? – ChuckKelly 2013-02-28 06:41:26

+0

@ChuckKelly最后,我使用了ActionBar项的Text部分来显示新消息的数量。如果没有我只是把“”字符串。 – kape123 2013-03-06 01:50:43

回答

1

到这一点,最好的办法是创建修改可绘制自己和设置它作为该特定ActionBar图标的来源。为此,您可以拨打invalidateOptionsMenu()并从onCreateOptionsMenu(Menu)内重新设置图标。您可以使用LayerDrawable将数字叠加到实际图标可绘制的顶部。

+1

您也可以使用'setDisplayOptions(DISPLAY_SHOW_CUSTOM)'和'setCustomView(view)' – Karakuri 2013-02-18 22:05:01

+0

在操作栏中放置任意视图吗?请您提供一些代码吗? – TharakaNirmana 2013-12-11 07:46:15

+0

如果你打算使用'setCustomView(view)',只需要ImageView子类和'onDraw()'方法,将所需的数字绘制到画布上。 – 2013-12-11 15:32:04

1

我不认为它是内置的API的东西,但是有一个badge-button一个简单的实现,可以帮助你

相关问题