Изменение значка переполнения панели действий на темную версию

В своем приложении я использую свою собственную тему, основанную на Theme.Holo.Light. Однако я настроил actionBarStyle, установив для фона синий градиент, чтобы он соответствовал стилю моего приложения.

Однако в светлой теме Halo текст на панели действий темный, а значки по умолчанию, такие как стрелка навигации вверх и значок меню, темные. не иди на мой синий градиент.

Как вы можете видеть из моего XML ниже, мне удалось исправить цвет текста заголовка, но я не могу найти атрибут, который мне нужно переопределить для значков.

Как я могу изменить тему, чтобы она эффективно использовала значки на панели действий из Theme.Halo вместо этих Theme.Halo.Light, но чтобы остальная часть моего приложения по-прежнему использовала Theme.Halo.Light

Вот мой текущий XML

<style name="MyLightTheme" parent="android:Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/blue_gradient_light</item>
    <item name="android:titleTextStyle">@style/Theme.ActionBar.TitleTextStyle</item>
</style>

<style name="Theme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">@color/solid_white</item>
</style>

Спасибо за вашу помощь


person Rob    schedule 22.11.2011    source источник


Ответы (1)


Используйте Theme.Holo.Light.DarkActionBar в качестве базы, если хотите это сделать. Он позаботится об этих деталях.

person adamp    schedule 22.11.2011
comment
Спасибо, это сортирует значки, похоже, это не влияет на текст на панели действий, например. заголовок еще темный. Так что, похоже, мое переопределение все еще необходимо - person Rob; 23.11.2011
comment
Да, это работает нормально, в базе используется темная панель действий, но как только я переопределяю actionBarStyle, чтобы установить свой синий градиент, текст действует так, как если бы это была светлая панель действий. - person Rob; 23.11.2011
comment
Также убедитесь, что если вы размещаете какие-либо настраиваемые представления на панели действий (будь то настраиваемые представления панели действий, настраиваемые представления вкладок или представления действий), вы используете правильный контекст, чтобы они были правильно оформлены. Вы можете получить тематический контекст для панели действий, вызвав ActionBar#getThemedContext(). - person adamp; 23.11.2011