2015-09-07 15 views
9

Bazı simgeleri renkli ve biraz renklendirmek istemiyorum. Şimdi var: Tüm simgeleri renklendiriyorBazı simgelere NavigationView'de renk tonu nasıl ayarlanır

app:itemIconTint="@color/menu_icons_selector" 

. Tüm simgeleri artık renkli değildir -

tüm simgeler daha sonra

mNavigationView.getMenu().getItem(4).getIcon().setColorFilter(redColor, PorterDuff.Mode.SRC_ATOP); 

sadece 4 öğeye renk tonunu ayarlamak için, ancak bu çalışmıyor

mNavigationView.setItemIconTintList(null); 

ve renkli değil yapmaya çalışıyorum ve 4 de renklendirilmemiş.

+0

Sadece zaten 'setColorFilter' kullanmak bkz bireysel Navigasyon MenuItem Simge renk tonu olabilir Bu şekilde .... benim için çalışıyor. Bu durumda cevabım muhtemelen işe yaramıyorsa size yardımcı olmaz (ancak ileride referans olarak bırakabilirsiniz). 'App: itemIconTint' ve' setItemIconTintList''ü kaldırmayı deneyin. Çalışmam gerektiğine inanıyorum. Ayrıca aslında denir emin olun. Mine onPostCreate() içinde çalışır. – miva2

cevap

5

Bu Programlı

navigation.getMenu().findItem(R.id.navItem1).getIcon().setColorFilter(Color.RED,PorterDuff.Mode.SRC_IN); 
+0

Bu aradığım şey oldu. – Sloosh

0

sen setColorFilter kullanabilirsiniz simgeleriniz bir ImageView iseniz Yürürlükteki Tonla

<?xml version="1.0" encoding="utf-8"?> 
<bitmap 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/ic_menu_icon" 
    android:tint="@color/pink"/> 
+0

Sorun şu kaynaklardan değil, http isteklerinden bu simgeleri alıyorum .. – diesersamat

0

bir çekilebilir simgesi (çekilebilir res /) "wrap" ve uygulayabilirsiniz.

Bu örnekte, navigasyonDrawer'da seçildiğinde simgenin renklendirildiği, üzerinde çalıştığım uygulamadaki gibi.

ImageView iconView = (ImageView) view.findViewById(R.id.icon); 

iconView.setColorFilter(selected ? 
    getResources().getColor(R.color.navdrawer_icon_selected_tint) : 
    getResources().getColor(R.color.navdrawer_icon_tint)); 

Sen Drawable da doğrudan setColorFilter uygulayabilirsiniz.

+0

NavigationView simgelerinden ImageViews almak mümkün mü? – diesersamat

+0

Navigasyon Görünümü içinde bir 'ImageView' olduğunu düşünmüyorum. 'SetColorFilter 'öğesini doğrudan getIcon()' dan alacağınız' Drawable 'üzerine uygularsınız. “ImageView” 'i “Drawable”' a da uyguladığı için bir 'ImageView' elde etmeye gerek yoktur. – miva2

+0

Dediğim gibi, ColorFilter öğesini zaten öğeye ayarlıyorum, ancak çalışmıyor – diesersamat

İlgili konular