2016-07-01 3 views
0

Допустим, у меня есть меню:NavigationView название пункта меню цвет

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:title="@string/menu_title"> 
     <menu> 
      <item 
       android:id="@+id/nav_menu_item_1" 
       android:icon="@drawable/nav_menu_item_1" 
       android:title="@string/nav_menu_item_1" /> 
     </menu> 
    </item> 
</menu> 

Я могу легко изменить цвет «nav_menu_item_1» название, как это:

<android.support.design.widget.NavigationView 
    ... 
    app:itemTextColor="@color/colorCustom" 
    ... /> 

Однако это не меняет цвет

<item android:title="@string/menu_title"> 

Как изменить цвет элемента меню первого уровня?

ответ

2

Вам нужно добавить android:textColorSecondary в свой style.xml

<item name="android:textColorSecondary">@color/colorPrimary</item> 

это работает для меня

Ouptput

enter image description here

0

Установить в вашей теме ...android:actionMenuTextColor

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:actionMenuTextColor">@color/colorAccent</item> 
</style> 

Или с помощью кода

MenuItem settingsMenuItem = menu.findItem(R.id.action_settings); 
SpannableString s = new SpannableString(settingsMenuItem.getTitle()); 
s.setSpan(new ForegroundColorSpan(Color.BLACK), 0, s.length(), 0); 
settingsMenuItem.setTitle(s); 
+0

Привет Арджуна Я проверил андроид: actionMenuTextColor, но он не работает для меня – Sach

+0

проверить обновление ответы попробовать с помощью кода .. –