在导航视图项android上创建数字指示器

时间:2017-05-29 03:38:04

标签: android drawer navigationview

我刚刚使用菜单创建了一个导航视图抽屉:

<group
    android:id="@+id/menu_top">
    <item
        android:id="@+id/nav_1"
        android:icon="@drawable/ic_menu_camera"
        android:title="Camera" />
    <item
        android:id="@+id/nav_2"
        android:icon="@drawable/ic_menu_gallery"
        android:title="Gallery" />
    <item
        android:id="@+id/nav_3"
        android:icon="@drawable/ic_menu_slideshow"
        android:title="Slideshow"/>
</group>

现在,我想知道如何在其中一个项目上添加数字指示器。就像Google Play商店在我们安装的应用上有一些更新一样。例如,下面屏幕截图中的项目购物车:

enter image description here

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

1)在菜单项中使用actionLayout

<item
    android:id="@+id/nav_1"
    android:icon="@drawable/ic_menu_camera"
    android:title="Camera"
    app:actionLayout="@layout/view_counter" />

2)创建view_counter

<TextView
    android:id="@+id/tvCounter" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical" />

3)查找MenuItem并设置计数器

MenuItem mItem = mNavView.getMenu().findItem(nav_1); // Find navigation item
View view = mItem.getActionView();
if (view instanceOf TextView) { // Double check, returned view is TextView
    ((TextView) view).setText(count);
}