使用可绘制资源以编程方式将图标设置为导航抽屉菜单项在 Android 中始终为黑色
Programmatically setting icon to navigation drawer menu item using drawable resource is always black in Android
我正在开发 Android 应用程序。在我的应用程序中,我使用导航抽屉和导航视图。我正在以编程方式为他们设置菜单项。我以编程方式将可绘制图像资源设置为图标。但是当我给他们设置图标时,图标总是黑色的事件我的图像资源漂亮的彩色图像。
这就是我以编程方式将图标设置为菜单的方式
Menu menu = leftDrawer.getMenu();
SubMenu subMenu = menu.addSubMenu(MAIN_MENU_ITEM_GROUP_ID, 99, 99, "Others");
subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Monthly Leaderboard").setIcon(R.drawable.leaderboard_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
startActivity(new Intent(MainActivity.this, LeaderboardActivity.class));
return false;
}
});
subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Settings").setIcon(R.drawable.settings_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
return false;
}
});
这是我得到的截图
如您所见,图标是黑色的。
这是我的原创图标之一
为什么会发生这种情况,我该如何解决才能获得彩色图标?我必须以编程方式设置它。
尝试以下代码行来解决您的问题...
yourNavigationView.setItemIconTintList(null)
并且,
如果你想给特定的颜色那么你可以使用 app:itemIconTint="@color/my_desired_colour" to NavigationView.
来改变颜色
默认色调为黑色。`
我正在开发 Android 应用程序。在我的应用程序中,我使用导航抽屉和导航视图。我正在以编程方式为他们设置菜单项。我以编程方式将可绘制图像资源设置为图标。但是当我给他们设置图标时,图标总是黑色的事件我的图像资源漂亮的彩色图像。
这就是我以编程方式将图标设置为菜单的方式
Menu menu = leftDrawer.getMenu();
SubMenu subMenu = menu.addSubMenu(MAIN_MENU_ITEM_GROUP_ID, 99, 99, "Others");
subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Monthly Leaderboard").setIcon(R.drawable.leaderboard_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
startActivity(new Intent(MainActivity.this, LeaderboardActivity.class));
return false;
}
});
subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Settings").setIcon(R.drawable.settings_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
return false;
}
});
这是我得到的截图
如您所见,图标是黑色的。
这是我的原创图标之一
为什么会发生这种情况,我该如何解决才能获得彩色图标?我必须以编程方式设置它。
尝试以下代码行来解决您的问题...
yourNavigationView.setItemIconTintList(null)
并且,
如果你想给特定的颜色那么你可以使用 app:itemIconTint="@color/my_desired_colour" to NavigationView.
默认色调为黑色。`