Изменить стиль элементов Android в панели действий.

Как изменить стиль элементов на панели действий приложения Android?

Я пробовал следующее:

<item name="android:actionBarStyle">@style/ActionBar.Light</item>

<style name="ActionBar.Light" parent="@style/ActionBar">
        <item name="android:background">@color/black</item>
        <item name="android:actionMenuTextColor">#FF00FF</item>
</style>

Фон панели действий мне удалось изменить, но не цвета текста элементов на панели действий. Как мне это сделать?

РЕДАКТИРОВАТЬ:

Я перепробовал почти все атрибуты android:action, которые нашел, но мне не удалось изменить ничего, кроме фона. Только первые <item name="android:background">#FF0000</item> следующего кода вносят изменения в мой код. Независимо от того, какие значения я устанавливаю для стиля Test, это ничего не меняет. Почему это происходит?

<item name="android:actionBarStyle">@style/ActionBar.Light</item>

<style name="ActionBar.Light" parent="@style/ActionBar">
        <item name="android:background">#FF0000</item>
        <item name="android:actionMenuTextColor">@style/Test</item>
        <item name="android:actionButtonStyle">@style/Test</item>
        <item name="android:actionModeBackground">@style/Test</item>
        <item name="android:actionMenuTextAppearance">@style/Test</item>
    </style>

    <style name="Test">
        <item name="android:textColor">@color/white</item>
        <item name="android:background">#FF0000</item>
    </style>

person Paulo Barros    schedule 30.11.2011    source источник


Ответы (2)


Если вы хотите изменить цвет пунктов меню на панели действий, вы должны установить actionMenuTextColor в стиле вашей темы.

<style name="PortfolioTheme" parent="android:style/Theme.Holo.Light">
   <item name="android:actionMenuTextColor">#24598a</item>
   <item name="actionMenuTextColor">#24598a</item>
</style>

Вы не определяете цвета пунктов меню в actionMenuTextAppearance!

person Tooroop    schedule 07.01.2013
comment
Привет, я попробовал это решение. Он меняет цвет пунктов меню на панели действий. Но может пункты подменю не меняются. Что мне делать, чтобы изменить цвет или элементы подменю. - person Dory; 24.04.2013
comment
Привет, вы, вероятно, говорите об изменении стиля меню переполнения. Я не уверен на 100% в решении, но попробуйте проверить эти ссылки: groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/ stackoverflow.com/questions/14859794/ - person Tooroop; 25.04.2013
comment
Это дерьмо, которое сделало это для меня. Он также работает с ActionBarCompat (пакет поддержки v7 для Android). Беглый просмотр файлов ресурсов, предоставленных для ActionBarCompat пакетом поддержки, также подтверждает наличие атрибута actionMenuTextColor. - person dbm; 17.12.2013

Вы можете изменить цвет: -

<?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.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>
person user755278    schedule 30.11.2011
comment
Здесь не работал. Этот android:titleTextStyle вообще не влияет на мой код, хотя я уже пробовал его раньше. - person Paulo Barros; 30.11.2011
comment
Я думаю, это только для названия приложения, а не для названия itens. - person Paulo Barros; 30.11.2011
comment
Спасибо за ссылку, действительно полезно. Я только что обновил свой вопрос. - person Paulo Barros; 30.11.2011