2016-07-06 3 views
5

У меня есть проблема, изменяющая Пункт меню Названия Color в Navigation Drawer я поставил itemTextColor, но он изменяет только Color из предметов не Title меню.панель навигации Пункт меню Название Цвет в Android

Вот мой 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> 

Проверьте это:This is the one i am talking about

ответ

19

Чтобы дать Menu пункт titlecolor и textSize Создать этот путь ..

добавить это в файл styles.xml.

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

сейчас в activity_main_drawer.xml файле дать 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> 

Теперь в MainActivity.java использование файла этот путь ..

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); 

Это изменит ваше toolscolor к Red и TextSize - 20sp .. Реализовать это ..

В моем случае выход:

enter image description here

+1

Спасибо, мне тоже нужен –

3

Вы можете также определить новый стиль в styles.xml:

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

и затем применяя этот стиль в NavigationView-х тема:

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