我的问题很简单,如何在NavigationView上的item上添加通知值?对于 Material Design Drawer像这样?
菜单项中是否有用于定义抽屉的属性?
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:checkableBehavior="single">
<item
android:id="@+id/drawer_home"
android:checked="true"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/home"/>
<item
android:id="@+id/drawer_favourite"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/favourite"/>
...
<item
android:id="@+id/drawer_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/settings"/>
</group>
</menu>
最佳答案
这可以通过 AppCompat-V7 版本 23 中的 NavigationView
使用操作 View 来实现。
1. 为柜台创建一个布局,例如nav_drawer_counter.xml
:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:textColor="@color/colorPrimary"/>
从您希望在
menu/nav_drawer.xml
中显示计数器值的每个项目中添加对它的引用(确保使用app
命名空间):<item ... app:actionLayout="@layout/activity_main_nav_drawer_menu_counter" />
添加一个方法来为
TextView
设置一个值,例如:@Override protected void onCreate(Bundle savedInstanceState) { .... setNavItemCount(R.id.nav_notifications, 10); } private void setNavItemCount(@IdRes int itemId, int count) { TextView view = (TextView) navigationView.getMenu().findItem(itemId).getActionView(); view.setText(count > 0 ? String.valueOf(count) : null); }
关于android - 如何为 Material Design Drawer 的 NavigationView 上的项目添加通知值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31050603/