12

Estoy construyendo una aplicación que debería funcionar en Android 2.3 y agregué ambas bibliotecas ActionBarSherlock y HoloEverywhere.¿Cómo aplico el tema de Android HoloEverywhere cuando uso ActionBarSherlock?

Para utilizar ActionBarSherlock tengo que usar Theme.Sherlock así:

<application 
    ... 
    android:theme="@style/Theme.Sherlock" 
    ... > 

Y eso está bien.

Mi actividad principal es bastante simple: solo un ListView con 5 filas (no utilizo ListAcivity).

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/menuListView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

Ya que es Android 2.3, todavía tengo la naranja & tema negro (a excepción de la Barra de acciones, por supuesto). Ahora quiero añadir el tema HoloEverywhere modificando mi manifiesta de este modo:

<application 
    ... 
    android:theme="@style/Theme.HoloEverywhereDark.Sherlock" 
    ... > 

pero eso no cambia nada ... ¿Qué me falta?

+2

necesito el spinner como ICS en versiones anteriores. Pero intenté importar ActionBarSherlock y Holoeverywhere. Pero en eclipse después de importar arrojando muchos errores. Y también, por favor, ¿podemos decir que no podemos usar holoeverywhere sin ActionBarSherlock? – Vins

+0

¿Qué errores? y sí, puede usar Holoeverywhere sin actionbarsherlock – Alexis

+0

Como no se encontraron errores de recursos. El paso que hice para importar es-> Archivo-> Proyecto nuevo-> Proyecto Android desde código existente. – Vins

Respuesta

7

Para activar el tema Holo por defecto para todos los ListView fui en el archivo de la biblioteca styles.xml HoloEverywhere continuación, he modificado el elemento "ListViewStyle" mediante la adición de esta línea:

<item name="android:listSelector">@drawable/list_selector_holo_dark</item> 
+1

Sí. Buen punto. –

3

Tuve el mismo problema con el selector de ListView. Pensé que HoloEveruwhere aplicaría holo selector (azul) de forma predeterminada (he intentado tanto Theme.HoloEverywhereLight como Theme.HoloEverywhereLight), pero no fue así. Tal vez me estoy perdiendo algo.

que terminó colocando el selector manual:

listView.setSelector(R.drawable.list_selector_holo_light); 

Usted tiene varios recursos de los disponibles de la biblioteca se puede hacer uso de (list_selector_holo_light por ejemplo).

+0

eso está realmente funcionando, pero luego tengo que hacerlo para cada ListView. – Alexis

2

Un portátil y correcta La solución sería heredar de ListViewStyle y anular el atributo, haciendo esto en su styles.xml.

Si tenía la biblioteca oficial de HoloEverywhere implementada de forma remota en un servidor (por ejemplo, Maven repo) no podía depender de que mantuviera un cambio en styles.xml (lo está modificando para sus propias necesidades).

Cuestiones relacionadas