Элемент меню «Меню навигации» Название цвета в Android

У меня проблема с изменением заголовка пункта меню Color в Navigation Drawer. Я установил itemTextColor, но он изменяет только Color элементов, а не Title меню.

Вот мой Activity_main.xml




    

    



activity_main_drawer.xml




    
        


    

    
        
            
            
            
        
    


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

16
задан Gabriele Mariotti 12 October 2019 в 19:49
поделиться

2 ответа

С NavigationView включенный в Материальная Библиотека Компонентов можно использовать app:itemTextColor для определения цвета или селектора и app:itemTextAppearance, если Вы хотите настроить используемый TextAppearance.

 <com.google.android.material.navigation.NavigationView    
      app:itemTextColor="@color/colorPrimaryDark"
      app:itemTextAppearance="@style/...."
      ...>

Для цвета можно использовать селектор как:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="?attr/colorPrimary" android:state_checked="true"/>
  <item android:alpha="0.38" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
  <item android:color="?attr/colorOnSurface"/>
</selector>

enter image description here

0
ответ дан 30 November 2019 в 10:34
поделиться

Для любого, кто может наткнуться на этот вопрос и не найти рабочий ответ как я, добавьте <item name="android:textColorSecondary">@color/white</item> внутренняя часть Ваш AppTheme и AppTheme.NoActionBar файл styles.xml как это:

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

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

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>

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

Это должно произвести что-то вроде этого:

navigation drawer custom styling

Примечание: я сделал текст элемента "Доля" или "Отправляю" белый путем добавления app:itemTextColor="@color/white" внутренняя часть NavigationView. Полный код NavigationView:

<com.google.android.material.navigation.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"
            app:itemTextColor="@color/white"
            android:background="#283135"
            app:headerLayout="@layout/nav_header_main"
            app:menu="@menu/activity_main_drawer"/>
0
ответ дан 30 November 2019 в 10:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: