Android Auto的根目录菜单默认情况下显示的是文本,而不是图标。但是,可以通过以下方式实现在根目录菜单中显示图标。
在xml布局文件中,为每个根目录菜单项添加一个“icon”属性,并将其设置为相应的图标资源。例如:
然后,在Java代码中,将NavigationView的setNavigationItemSelectedListener()方法中的onNavigationItemSelected()方法中的menu.findItem()更改为menu.findItem().setIcon(),以将菜单项中的图标显示出来。例如:
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
// set item as selected to persist highlight
menuItem.setChecked(true);
// get item id to perform selected item operation
switch (menuItem.getItemId()) {
case R.id.nav_audio:
// Handle audio action
break;
case R.id.nav_maps:
// Handle maps action
break;
case R.id.nav_phone:
// Handle phone action
break;
}
// close drawer when item is selected
drawerLayout.closeDrawers();
return true;
}
});
// get root menu to show icons instead of text
Menu menu = navigationView.getMenu();
for (int i = 0; i < menu.size(); i++) {
menu.getItem(i).setIcon(R.drawable.ic_music);
}
这将对根目录菜单中的每个菜单项设置相应的图标,并在NavigationView中显示它