Как изменить цвет сенсорного эффекта ActionBar в Android 3.0 и выше

Я пытаюсь изменить цвет эффекта опрокидывания при касании элемента ActionBar. На моем Galaxy Nexus с 4.0.2 это своего рода бирюзовый оттенок цвета, который я хочу быть в другом цвете.

Чтобы быть ясным, я говорю здесь о элементах ActionBar, а не о вкладках навигации.

Я получил его в библиотеке совместимости, но для Android 3.0 и выше, то есть "реального" ActionBar, я просто не могу понять, как это сделать.

Кто-нибудь знает, если и как это может быть достигнуто?

Ответ 1

Собственная панель действий использует атрибут темы selectableItemBackground для фонового рисунка элемента действия. Это должно быть доступно для списка состояний.

Здесь объявление в Theme.Holo:

<style name="Theme.Holo">
    <!-- bunch of things -->
    <item name="android:selectableItemBackground">@android:drawable/item_background_holo_dark</item>
    <!-- bunch of things -->
</style>

И его доступный XML:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
          android:exitFadeDuration="@android:integer/config_mediumAnimTime">

    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_disabled_holo_dark" />
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition_holo_dark" />
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition_holo_dark" />
    <item android:state_focused="true"                                                             android:drawable="@drawable/list_focused_holo" />
    <item                                                                                          android:drawable="@color/transparent" />
</selector>