首页 > 代码库 > ActionItemBadge:在actionbar上显示badge数字提示
ActionItemBadge:在actionbar上显示badge数字提示
介绍:
一个方便你让你在actionbar上显示数字提示的库(这种效果称为badge )。其实现原理是利用了menu菜单资源文件属性actionLayout
运行效果:
使用说明:
按照正常方式创建一个menu.xml ,同事需要添加actionLayout
,为了总是让这个菜单项显示出来,添加上showAsAction=
"always"
。
<itemandroid:id="@+id/item_samplebadge"android:actionLayout="@layout/menu_badge"android:showAsAction="always"android:title="@string/sample_1"/>
activity中
重写onCreateOptionsMenu
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);//you can add some logic (hide it if the count == 0)if(badgeCount > 0) {ActionItemBadge.update(this, menu.findItem(R.id.item_samplebadge), Iconify.IconValue.fa_android, ActionItemBadge.BadgeStyle.DARKGREY, badgeCount);} else{ActionItemBadge.hide(menu.findItem(R.id.item_samplebadge));}//If you want to add your ActionItem programmatically you can do this too. You do the following:new ActionItemBadge.Add().act(this).menu(menu).title(R.string.sample_2).itemDetails(0, SAMPLE2_ID, 1).showAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS).build(ActionItemBadge.BadgeStyle.BLUE_LARGE, 1);return true;}
如果你想在用户点击菜单项之后重新更新badge显示的数目,那么在onOptionsItemSelected
中调用invalidateOptionsMenu
方法:
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {int id = item.getItemId();if(id == R.id.item_samplebadge) {Toast.makeText(this, R.string.sample_3, Toast.LENGTH_SHORT).show();badgeCount--;invalidateOptionsMenu();return true;} else if(id == SAMPLE2_ID) {Toast.makeText(this, R.string.sample_4, Toast.LENGTH_SHORT).show();}return super.onOptionsItemSelected(item);}
源码下载:http://jcodecraeer.com/a/opensource/2014/1105/1910.html
ActionItemBadge:在actionbar上显示badge数字提示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。