Este artículo invitado fue escrito por Enrique Diaz, organizador del GDG Androititlan, en México.

Para personalizar el fondo del elemento ActionBar en API level 11 AKA HoneyComb, típicamente hacemos esto:

<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/actionbar_background</item>
    <item name="android:textColor">@color/actionbar_text</item>
    <item name="android:titleTextStyle">@style/ActionBarText</item>
</style>

Y el contenido de recurso XML es:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/actionbar_tile" android:tileMode="repeat" />

Sin embargo, hay un bug que no reconoce la propiedad tileMode con el argumento repeat. Esta propiedad permite decirle a un patrón de imagen que llene programáticamente el objeto ActionBar con nuestro recurso, desafortunadamente lo que hace es tomar la imágen como fondo y estirarla en largo y ancho:
Para resolver esto, recomiendo crear un objeto que herede de BitmapDrawable para asignar el patrón de la imagen, posteriormente definimos la conducta del BitmapDrawable, solicitando que se repita en su eje X, para finalmente asignarlo al objeto ActionBar:

final ActionBar actionBar = getActionBar();
BitmapDrawable background = new BitmapDrawable(
      BitmapFactory.decodeResource(getResources(),
             R.drawable.actionbar_tile));
background.setTileModeX(android.graphics.Shader.TileMode.REPEAT);
actionBar.setBackgroundDrawable(background);

Y el resultado final, se aprecia en la siguiente imagen:


Publicado por Francisco Solsona, Google Developer Program Manager