¿Cómo cambio el color de fondo de la ActionBar de una ActionBarActivity usando XML?

Resuelto user77115 asked hace 54 años • 20 respuestas

Detalles:

Estoy ampliando ActionBarActivity.
Eclipse y SDK están completamente parcheados a partir del 6 de noviembre de 2011.

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />  

Implementada en un dispositivo Samsung con Android 2.3.3,
la aplicación tieneandroid:theme="@android:style/Theme.Light"

Problema: la aplicación es liviana, pero ActionBar es azul con íconos grises, apenas visibles contra el color de fondo azul. También quiero que la barra de acciones sea clara, para que los íconos grises sean más visibles.

Intenté modificar los estilos pero fue en vano.
Probablemente me estoy perdiendo algo trivial.

¿Cómo cambio el color de fondo de la ActionBar de una ActionBarActivity usando XML?

user77115 avatar Jan 01 '70 08:01 user77115
Aceptado

Según la documentación : "Puede controlar el comportamiento y la visibilidad de la barra de acciones con las API de ActionBar, que se agregaron en Android 3.0 (nivel de API 11)".

Por lo tanto, ActionBar no funcionará para su entorno de destino, que se encuentra en el nivel API 10 (Android 2.3.3).

Por si acaso, si su objetivo es el nivel mínimo de API 11, puede cambiar el color de fondo de ActionBar definiendo un estilo personalizado, como:

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

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

Y configure "MyTheme" como tema para la aplicación/actividad.

lupchiazoem avatar Feb 12 '2012 14:02 lupchiazoem

Prueba esto

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR"));
coder_For_Life22 avatar Nov 06 '2011 02:11 coder_For_Life22

prueba esto:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));
user2428604 avatar Jun 23 '2013 14:06 user2428604