在导航视图项中创建数字指示器 android
Create numeric indicator at a navigation view item android
我刚刚使用菜单创建了一个导航视图抽屉:
<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 商店对我们安装的应用程序进行一些更新一样。例如,下面屏幕截图中的商品购物车:
有什么建议吗?谢谢。
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);
}
我刚刚使用菜单创建了一个导航视图抽屉:
<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 商店对我们安装的应用程序进行一些更新一样。例如,下面屏幕截图中的商品购物车:
有什么建议吗?谢谢。
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);
}