Подтвердить что ты не робот

Цвет текста панели меню ActionBarSherlock

У меня есть небольшой вопрос о тематике моего приложения, которое использует ActionBarSherlock. Все работает отлично, за исключением Samsung phones with TouchWizz. Элементы меню переполнения отображаются нажатием клавиши меню оборудования.

Я знаю, как изменить фон панели. Моя тема по умолчанию расширяет Theme.Sherlock.Light.DarkActionBar, поэтому цвет текста меню по умолчанию на панели оборудования будет black, я не хочу этого менять.

Любые идеи о том, как это сделать, кроме изменения родительского элемента моей темы по умолчанию?

<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    <item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
</style>

enter image description here

4b9b3361

Ответ 1

Вот правильные настройки для настройки стиля аппаратного меню. Вы должны посмотреть на panelColorForeground; -)

<item name="android:panelColorBackground">#FFFFFF</item>
<item name="android:panelColorForeground">@color/primary_text_holo_dark</item>
<item name="android:panelFullBackground">@drawable/menu_background_fill_parent_width_holo_dark</item>
<item name="android:panelTextAppearance">@style/Holo.TextAppearance</item>

Протестировано на эмуляторе HoloEverywhere lib и 2.3. Подробнее см. attrs doc.

Ответ 2

Я не уверен, понимаю ли я, что вы хотите сделать, но если вы хотите изменить textColor на этой панели, вы можете создать собственный стиль с родительским набором в TextAppearance.Sherlock.Widget.PopupMenu, а затем изменить свойство textColor. Вот так:

<style name="Widget.MyApp.ActionBarPopupLargeTextColor" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large">
<item name="android:textColor">@color/black</item>
</style>

<style name="Widget.MyApp.ActionBarPopupSmallTextColor" parent="TextAppearance.Sherlock.Widget.PopupMenu.Small">
    <item name="android:textColor">@color/black</item>
</style>

Работал для меня:)