programacion - manual android studio avanzado
¿Cómo puedo cambiar el color del efecto táctil de la barra de acción en Android 3.0 y superior? (1)
Estoy intentando cambiar el color del efecto de rollover cuando tocas un elemento de la barra de acción. En mi Galaxy Nexus con 4.0.2 es una especie de sombreado de color turquesa que quiero que sea de un color diferente.
Para ser claros, estoy hablando de elementos de la barra de acción aquí, no de las pestañas de navegación.
Lo tengo funcionando bajo la biblioteca de compatibilidad, pero para Android 3.0 y superior, es decir, la barra de acción "real", simplemente no puedo averiguar cómo hacerlo.
¿Alguien sabe si y cómo se puede lograr esto?
La barra de acción nativa utiliza el atributo de tema selectableItemBackground
para el dibujo de fondo del elemento de acción. Esto debería ser una lista de estado dibujable.
Aquí está la declaración en Theme.Holo
:
<style name="Theme.Holo">
<!-- bunch of things -->
<item name="android:selectableItemBackground">@android:drawable/item_background_holo_dark</item>
<!-- bunch of things -->
</style>
Y su XML dibujable:
<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>