2017-09-19 3 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); 
} 
関連する問題