Интерфейс, диалоги, темы, стили, меню
-
rolotomasi
- Сообщения: 6
- Зарегистрирован: 27 апр 2014, 09:05
Сообщение
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
Сообщение
alexmx » 27 апр 2014, 12:47
android:background="#00FF00"
-
rolotomasi
- Сообщения: 6
- Зарегистрирован: 27 апр 2014, 09:05
Сообщение
rolotomasi » 27 апр 2014, 13:31
В меню нет никаких свойств цвета.
Нужно поменять цвет текста элемента меню, не фона.
-
alexmx
- Сообщения: 193
- Зарегистрирован: 10 мар 2014, 08:14
Сообщение
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
Сообщение
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
Сообщение
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
Сообщение
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
Насколько я понял, если через это делать через тему, то цвета будут одинаковые во всех пунктах. А я бы хотел один зеленый, другой красный. Или я не прав и можно добиться того, что хочу?