我刚刚开始使用新组件android.support.design.Widget.NavigationVIEw,在此之前我使用标准列表视图导航抽屉但是现在我开始使用新的组件导航视图并且有问题在项目上实现徽章.
现在有人如何解决这个问题?
解决方法:
这可以通过以下步骤完成
1.在导航抽屉菜单中添加“actionVIEwClass”属性
在使用导航抽屉创建“Helloworld”应用程序后,在项目层次结构视图的“菜单”文件夹下查找文件“activity_main_drawer.xml”(即youractivityname_drawer.xml).
识别组项并添加“app:actionVIEwClass = androID.Widget.TextVIEw”,如下所示:
<menu xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto"><group androID:checkableBehavior="single"> <item androID:ID="@+ID/nav_camera" androID:icon="@drawable/ic_menu_camera" androID:title="import" /> <item androID:ID="@+ID/nav_gallery" app:actionVIEwClass="androID.Widget.TextVIEw" androID:icon="@drawable/ic_menu_gallery" androID:title="gallery" /> <item androID:ID="@+ID/nav_slIDeshow" app:actionVIEwClass="androID.Widget.TextVIEw" androID:icon="@drawable/ic_menu_slIDeshow" androID:title="SlIDeshow" /> <item androID:ID="@+ID/nav_manage" androID:icon="@drawable/ic_menu_manage" androID:title="Tools" /></group>
2.声明导航抽屉菜单项并使用徽章值初始化项目.
在您的主Activity中,声明导航抽屉的菜单项,如下所示
//Create these objects above OnCreate()of your main activityTextVIEw slIDeshow,gallery;//These lines should be added in the OnCreate() of your main activitygallery=(TextVIEw) MenuItemCompat.getActionVIEw(navigationVIEw.getMenu().findItem(R.ID.nav_gallery));slIDeshow=(TextVIEw) MenuItemCompat.getActionVIEw(navigationVIEw.getMenu().findItem(R.ID.nav_slIDeshow));//This method will initialize the count valueinitializeCountDrawer();
initializeCountDrawer()可以在需要的地方调用.它还可用于更新导航抽屉菜单项中的计数或徽章值.
private voID initializeCountDrawer() { //Gravity property aligns the text gallery.setGravity(Gravity.CENTER_VERTICAL); gallery.setTypeface(null, Typeface.BolD); gallery.setTextcolor(getResources().getcolor(R.color.colorAccent)); gallery.setText("99+"); slIDeshow.setGravity(Gravity.CENTER_VERTICAL); slIDeshow.setTypeface(null,Typeface.BolD); slIDeshow.setTextcolor(getResources().getcolor(R.color.colorAccent)); //count is added slIDeshow.setText("7");}
添加上述方法后,运行该应用程序.瞧瞧!
简单的徽章计数将显示在导航抽屉的“图库”和“幻灯片”菜单项上.
动态徽章值
如果需要动态标记值,例如更新API调用或sqlite数据库中的值,请创建可重用的方法并在Activity的OnStart()或OnResume()方法上更新它.
完整的源代码可以找到here
总结以上是内存溢出为你收集整理的android – 如何在NavigationView中的项目上添加徽章全部内容,希望文章能够帮你解决android – 如何在NavigationView中的项目上添加徽章所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)