2015-02-01 2 views
3

Я пытаюсь обновить приложение-блокнот, чтобы использовать Material Design, даже на старых устройствах.Как изменить текст меню элемента меню цвет текста в дизайне материала

Что я сделал до сих пор:

  1. добавить библиотеку appcompat_v7 в мой проект, чтобы поддержать материал Design на старых устройствах
  2. изменить тему в AndroidManifest, добавляя android:theme="@style/Theme.NoteItTheme" к <application ... ></application> атрибуты
  3. создания темы в /res/values/themes.xml:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources xmlns:android="http://schemas.android.com/apk/res/android"> 
        <style name="Theme.NoteItTheme" parent="Theme.AppCompat.Light"> 
        <!-- Here we setting appcompat’s actionBarStyle --> 
        <!-- <item name="actionBarStyle">@style/MyActionBarStyle</item> --> 
    
        <!-- ...and here we setting appcompat’s color theming attrs --> 
        <item name="colorPrimary">@color/primary</item> 
        <item name="colorPrimaryDark">@color/primary_dark</item> 
        <item name="android:textColorPrimary">@color/text</item> 
        <item name="colorAccent">@color/ui</item> 
    
        <!-- The rest of your attributes --> 
    </style> 
    

Проблема:

Как вы можете лучше видеть здесь:

the problem

когда я развернуть меню ActionBar в, цвет текста и цвет фона очень похожи. У меня раньше не возникало этой проблемы, как мне изменить только цвет текста элементов?

ответ

9
<item name="android:textColorPrimary">yourColor</item> 

Над кодом изменяется цвет текста элементов меню для API> = v21.

<item name="actionMenuTextColor">@android:color/holo_green_light</item> 

Выше код API < v21

Некоторые учебники:

Changing toolbar's text color and overflow icon color

Appcompat v21 Pre-Lollipop devices

+0

Как реализовать эти свойства на основе уровня API? – Auth0x

+0

Вы можете создать файл стиля для каждого уровня api. Просто скопируйте и вставьте файлы стилей в одну и ту же папку и в диалоговом окне add -v19 (например) – Dahnark

+0

Не работает. Изменение «android: textColorPrimary» изменяет цвет текста элемента, но это также изменяет цвет текста заголовка панели действий. – Auth0x

5

Ниже работал для меня

<item name="actionMenuTextColor">yourColor</item> 
<item name="android:actionMenuTextColor">yourColor</item> 
+0

этот ответ правильный. вышеупомянутый андер не работает для уровня api менее 21 – dhpratik

Смежные вопросы