2016-07-12 28 views
8

Come posso cambiare NavigationView voce di menu file di testo menu.xml color.My è, scrivo anchecambiamento di colore del testo dell'oggetto di NavigationView

app: itemIconTint = "@ colore/bianco" app: itemTextColor = "@ colore/bianco" in mio layout, ma non funzionerà

<?xml version="1.0" encoding="utf-8"?> 

<item 
    android:checked="false" 
    android:title="@string/popular"> 
    <menu> 
     <item 
      android:id="@+id/tag1" 
      android:checked="false" 
      android:icon="@drawable/bird" 
      android:title="@string/tag1" /> 

     <item 
      android:id="@+id/tag2" 
      android:checked="false" 
      android:icon="@drawable/rabbit" 
      android:title="@string/tag2" /> 

     <item 
      android:id="@+id/tag3" 
      android:checked="false" 
      android:icon="@drawable/bird" 
      android:title="@string/tag3" /> 

     <item 
      android:id="@+id/tag4" 
      android:checked="false" 
      android:icon="@drawable/rabbit" 
      android:title="@string/tag4" /> 


     <item 
      android:id="@+id/tag5" 
      android:checked="false" 
      android:icon="@drawable/bird" 
      android:title="@string/tag5" /> 
     <item 
      android:id="@+id/setting" 
      android:checked="false" 
      android:icon="@drawable/setting" 
      android:title="@string/setting" /> 
     <item 
      android:id="@+id/rate" 
      android:checked="false" 
      android:icon="@drawable/rating" 
      android:title="@string/rate" /> 
    </menu> 
</item> 

Here is my NavigationView in my app as you can see there is no any effects if itemTextColor

mia NavigationView come ..

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="@color/theme_primary" 
    app:headerLayout="@layout/layout_drawer_header" 
    app:itemIconTint="@color/white" 
    app:itemTextColor="@color/white" 
    app:menu="@menu/menu_main" /> 
+3

Ma il colore dell'articolo è bianco che si sta utilizzando in xml. allora qual è il problema? –

+0

Come potete vedere nella mia immagine di NavigationView il mio popolare tag è ancora di colore nero, questo è il problema principale, voglio un testo popolare in bianco. –

+0

Probabilmente TextView nel layout layout_drawer_header interno, quindi prova a controllarlo –

risposta

4

grazie per la risposta, mi basta cercare poco e ho trovato la risposta non c'è alcun cambiamento di stile, ho appena cambiato in file JAVA come e è fatto.

NavigationView navigation_view = (NavigationView) findViewById(R.id.navigation_view); 
    navigation_view.setItemTextColor(ColorStateList.valueOf(Color.BLACK)); 
    navigation_view.setItemIconTintList(null); 
1

NavigationView utilizza il colore di Widget.Design.NavigationView tema. Puoi sovrascrivere quel tema come segue.

creare il proprio stile che prevale Widget.Design.NavigationView nel vostro style.xml:

<style name="NavigationStyle" parent="Widget.Design.NavigationView"> 
    <item name="android:textColorPrimary">@color/white</item> 
    <item name="android:textColorSecondary">@color/white</item> 
</style> 

utilizzare tale tema nel layout del file xml:

<android.support.design.widget.NavigationView 
     ... 
     android:theme="@style/NavigationStyle" 
     ... /> 
0

Si prega di controllare questo.

android:id="@+id/nav_view" 
    android:background="@drawable/login_bg" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:itemIconTint="#ffffff" 
    app:theme="@style/NavigationDrawerStyle" 
    app:itemTextColor="@color/white" 
    app:headerLayout="@layout/nav_header_main" 
    app:menu="@menu/activity_main_drawer" /> 

inoltre è possibile aggiungere stile per la voce di navigazione. `

<item name="android:textColorSecondary">#4dffffff</item> 
    <item name="android:dividerHeight">0.5dp</item> 
    <item name="android:listDivider">@color/white_with_alpha</item> 
    <item name="android:textSize">18dp</item> 

</style>`