2016-07-06 10 views
5

Ich habe ein Problem der Menüpunkt Titel Color im Navigation Drawer Wechsel habe ich die itemTextColor aber es ändert sich nur die Color der Positionen, die nicht die Title des Menüs. dieseNavigationsleiste Menüpunkt Titel Farbe in Android

Hier ist meine Activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" 
     app:itemTextColor="#ffffff" 
     android:background="#283135" 
     /> 


</android.support.v4.widget.DrawerLayout> 

activity_main_drawer.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <group android:checkableBehavior="single"> 
     <item 
      android:id="@+id/nav_home" 
      android:icon="@mipmap/hospital" 
      android:title="Home" 
      /> 
<item 
      android:id="@+id/nav_reminder" 
      android:icon="@mipmap/alarm" 
      android:title="Reminders" /> 

    </group> 

    <item android:title="Tools"> 
     <menu> 
      <item 
       android:id="@+id/nav_settings" 
       android:icon="@mipmap/settings" 
       android:title="Settings" /> 
      <item 
       android:id="@+id/nav_help" 
       android:icon="@mipmap/information" 
       android:title="Help" /> 
      <item 
       android:id="@+id/nav_about" 
       android:icon="@mipmap/team" 
       android:title="About Us" /> 
     </menu> 
    </item> 

</menu> 

Check:This is the one i am talking about

Antwort

19

zu geben,Artikel titlecolor und textSize auf diese Weise erstellen ..

diese Datei auf Ihre styles.xml hinzufügen.

<style name="TextAppearance44"> 
     <item name="android:textColor">#FF0000</item> 
     <item name="android:textSize">20sp</item> 
</style> 

jetzt in activity_main_drawer.xml Datei geben idattribute-title ..

<item android:title="Tools" 
     android:id="@+id/tools"> 
     <menu> 
      <item 
       android:id="@+id/nav_settings" 
       android:icon="@mipmap/settings" 
       android:title="Settings" /> 
      <item 
       android:id="@+id/nav_help" 
       android:icon="@mipmap/information" 
       android:title="Help" /> 
      <item 
       android:id="@+id/nav_about" 
       android:icon="@mipmap/team" 
       android:title="About Us" /> 
     </menu> 
    </item> 

jetzt in MainActivity.java Datei verwenden diese Art und Weise ..

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 

     Menu menu = navigationView.getMenu(); 

     MenuItem tools= menu.findItem(R.id.tools); 
     SpannableString s = new SpannableString(tools.getTitle()); 
     s.setSpan(new TextAppearanceSpan(this, R.style.TextAppearance44), 0, s.length(), 0); 
     tools.setTitle(s); 
     navigationView.setNavigationItemSelectedListener(this); 

Es wird Ihr toolscolor zu Red ändern und TextSize zu 20sp .. Implementieren Sie es ..

In meinem Fall Ausgang:

enter image description here

+1

Vielen Dank, ich brauche das auch –

3

Sie auch neuen Stil in styles.xml definieren:

<style name="NavigationView"> 
    <item name="android:textColorSecondary">@color/white</item> 
</style> 

und dann diesen Stil in NavigationView der Anwendung Thema:

<android.support.design.widget.NavigationView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:theme="@style/NavigationView" /> 
Verwandte Themen