嗨,我正在使用
Android NavigationView.我想为NavigationView中的某些项目提供单独的文本颜色,而不是为所有项目.或者我想在NavigationView中选择一个项目时动态更改单个项目的文本颜色(仅限某些项目).我怎样才能做到这一点?
解决方法
是的你可以做到我也做到了.
首先获取要更改颜色的MenuItem
Menu m = navView.getMenu(); MenuItem menuItem = m.findItem(your_menu_id);
然后用你的颜色涂抹spannable
SpannableString s = new SpannableString(menuItem.getTitle()); s.setSpan(new ForegroundColorSpan(Color.your_color),s.length(),0); menuItem.setTitle(s);
而已..
现在下面的代码是针对您的第二个解决方案动态更改文本颜色菜单点击..
navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { SpannableString s = new SpannableString(menuItem.getTitle()); s.setSpan(new ForegroundColorSpan(Color.RED),0); menuItem.setTitle(s); return false; } });