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