2017-09-19 13 views
0

나는 NavigationView을 가지고 있는데, 아이콘 중 일부에 색상을 지정하고 싶습니다. NavigationView가 일부 아이콘에 색상을 지정했습니다.

enter image description here

나는 mNavigationView.setItemIconTintList(null);를 사용하여 시도하지만이 모든 아이콘이 검은한다.

SubMenu sub = menu.addSubMenu(GROUP_ID, GROUP_ID, 0, R.string.jobs); 
for(int i = 0; i< jobs.size(); i++){ 
    MenuItem menuItem = sub.add(GROUP_ID, i, i, jobs.get(i).name); 
    menuItem.setIcon(new ColorDrawable(Color.RED)); 
} 

IconColorTint 목록을 유지하지만, 일부에서 제거 할 수있는 방법이 있나요 : 나는 런타임에 색상을 부여 할 항목을 만들?

+0

아이콘의 색상이 변경되거나 고정적입니까? – Yupi

+0

색상이 바뀔 수 있습니다. –

답변

0

필터를 비활성화하고 드로어 블에 직접 필터를 설정하여 방법을 찾았습니다.

navigationView.setItemIconTintList(null); 
for (int iconId: filterIcons) { 
    MenuItem menuItem = navigationView.getMenu().findItem(iconId); 
    Drawable d = menuItem.getIcon().mutate(); 
    d.setColorFilter(Color.rgb(117, 117, 117), PorterDuff.Mode.MULTIPLY); 
    menuItem.setIcon(d); 
}