Android 我可以使导航菜单项文本与其他项不同吗?

Android 我可以使导航菜单项文本与其他项不同吗?,android,android-layout,android-menu,android-navigationview,Android,Android Layout,Android Menu,Android Navigationview,我正在应用程序上使用NavigationView和menu。 我希望其中一个菜单项是不同颜色的图标和文本 我可以使用setItemIContitListNull和使用所需颜色的图标使图标显示其他颜色。 有没有办法使单个菜单项的文本颜色不同?您可以这样使用: //Change to your NavigationView Id NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

我正在应用程序上使用NavigationView和menu。 我希望其中一个菜单项是不同颜色的图标和文本

我可以使用setItemIContitListNull和使用所需颜色的图标使图标显示其他颜色。
有没有办法使单个菜单项的文本颜色不同?

您可以这样使用:

//Change to your NavigationView Id
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);            

//change R.id.menu_item to your id
navigationView.getMenu().findItem(R.id.menu_item).setTitle(Html.fromHtml("<font color='#ff3824'>Settings</font>")); 
受作者答案的启发,我最终使用了SpannableString来设置带有特定颜色的文本。 我已经为它创建了一个util方法:

public static CharSequence getSpannableColorString (String text, int color) {
    SpannableString spanString = new SpannableString(text);
    spanString.setSpan(new ForegroundColorSpan(color),0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    return spanString;
}
然后使用它设置菜单项的标题:


我的回答让你生气了吗?如果是的话,那么请接受我的回答好吧,这确实是个好办法。美好的然而,它感觉像一个黑客。我在等着看是否有更标准的方法来做这件事。在navigationview中没有其他我所知道的标准方法。您可以更改comeplete菜单项的颜色,但请注意,不要更改单个项。如果答案确实对您有帮助,请向上投票:-我认为SpannableString选项更好。。。谢谢。但如果我的回答对你有帮助的话,那么投票也对我有帮助:-没有问题:-
MenuItem menuItem = navigationView.getMenu().findItem(R.id.myItem);
menuItem.setTitle(getSpannableColorString(getString(R.string.itemText), getColor(R.color.itemColor)));