Цвет текста элементов меню в action bar

Интерфейс, диалоги, темы, стили, меню
Ответить
rolotomasi
Сообщения: 6
Зарегистрирован: 27 апр 2014, 09:05

Цвет текста элементов меню в action bar

Сообщение rolotomasi » 27 апр 2014, 09:12

Привет!
Есть такое меню:

Код: Выделить всё

<item 
    android:id="@+id/miOutcome"
    android:showAsAction="always"
    android:title="@string/outcome_title">
</item>

<item 
    android:id="@+id/miIncome" 
    android:showAsAction="always"
    android:title="@string/income_title">
</item>

<item 
    android:id="@+id/miNewCat" 
    android:icon="@drawable/plus_icon"
    android:showAsAction="always" 
    android:title="@string/new_category_btn">
</item>
Я хочу сделать так, чтобы цвет элемента miIncome был зеленый, а цвет miOutcome красным. Попытался сделать это таким образом:

Код: Выделить всё

public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.category_menu, menu);
        MenuItem menuItem = menu.getItem(0);
        SpannableString spanString = new SpannableString(menuItem.getTitle());
        int color = getResources().getColor(R.color.COLOR_OF_OUTCOME);
        spanString.setSpan(new ForegroundColorSpan(color), 0, spanString.length(), 0);
        menuItem.setTitle(spanString);
        return super.onCreateOptionsMenu(menu);
    }
Но цвет не меняется. Если же сделать то же самое на обычном выпадающем меню (где атрибут showAsAction не стоит как always), то всё получается.
Прошу помочь разобраться. Буду благодарен.

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Цвет текста элементов меню в action bar

Сообщение alexmx » 27 апр 2014, 12:47

android:background="#00FF00"

rolotomasi
Сообщения: 6
Зарегистрирован: 27 апр 2014, 09:05

Re: Цвет текста элементов меню в action bar

Сообщение rolotomasi » 27 апр 2014, 13:31

В меню нет никаких свойств цвета.
Нужно поменять цвет текста элемента меню, не фона.

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Цвет текста элементов меню в action bar

Сообщение alexmx » 27 апр 2014, 14:38

[syntax=xml]<item
android:id="@+id/miIncome"
android:showAsAction="always"
android:title="@string/income_title"
android:textColor="#00FF00">
</item>[/syntax]

rolotomasi
Сообщения: 6
Зарегистрирован: 27 апр 2014, 09:05

Re: Цвет текста элементов меню в action bar

Сообщение rolotomasi » 28 апр 2014, 08:18

alexmx писал(а):[syntax=xml]<item
android:id="@+id/miIncome"
android:showAsAction="always"
android:title="@string/income_title"
android:textColor="#00FF00">
</item>[/syntax]
не работает. цвет остается как был прежде.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Цвет текста элементов меню в action bar

Сообщение altwin » 28 апр 2014, 08:36

Google спрашивали?
styles.xml
[syntax=xml]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>

<style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>
</resources>
[/syntax]
Внимательно почитайте тут: https://developer.android.com/intl/ru/t ... yling.html
Изображение

rolotomasi
Сообщения: 6
Зарегистрирован: 27 апр 2014, 09:05

Re: Цвет текста элементов меню в action bar

Сообщение rolotomasi » 28 апр 2014, 08:41

altwin писал(а):Google спрашивали?
styles.xml
[syntax=xml]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>

<style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>
</resources>
[/syntax]
Внимательно почитайте тут: https://developer.android.com/intl/ru/t ... yling.html

Насколько я понял, если через это делать через тему, то цвета будут одинаковые во всех пунктах. А я бы хотел один зеленый, другой красный. Или я не прав и можно добиться того, что хочу?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Цвет текста элементов меню в action bar

Сообщение altwin » 28 апр 2014, 08:53

rolotomasi писал(а): Насколько я понял, если через это делать через тему, то цвета будут одинаковые во всех пунктах. А я бы хотел один зеленый, другой красный. Или я не прав и можно добиться того, что хочу?
http://habrahabr.ru/post/117513/

P.S. что мешает следуя этому уроку: http://startandroid.ru/ru/uroki/vse-uro ... entov.html, в файлах res/menu/fragment1.xml и res/menu/fragment2.xml, добавить атрибут textColor?
Изображение

Ответить