Domanda

Sto costruendo un'applicazione che dovrebbe funzionare su Android 2.3 e ho aggiunto entrambe le biblioteche ActionBarsherlock e Holoverywhere.

Per utilizzare ActionBarsherlock devo usare tema.sherlock come così:

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

E va bene.

La mia attività principale è piuttosto semplice: solo un listview con 5 righe (non uso la metacività).

<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>
.

Dal momento che è Android 2.3, ho ancora il tema arancione e nero (tranne che per l'ActionBar ovviamente).Ora voglio aggiungere il tema Holoverywhere modificando il mio manifesto come:

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

Ma questo non cambia nulla ... cosa mi manca?

È stato utile?

Soluzione

Per abilitare il tema Holo per impostazione predefinita per ogni lista di listview sono entrato nel file styles.xml della libreria Holoverywhere, quindi ho modificato l'elemento "ListViewStyle" aggiungendo questa linea:

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

Altri suggerimenti

Ho avuto lo stesso problema con il selettore di ListView.Anche se quel Holoveruwhere avrebbe applicato il selettore di Holo (blu) per impostazione predefinita (ho provato sia il tema.hothoverywherelight che il tema.holaeverywherelight), ma non lo è stato.Forse mi manca qualcosa.

Ho finito per impostare manualmente il selettore:

listView.setSelector(R.drawable.list_selector_holo_light);
.

Hai diverse risorse disegnate nella libreria che puoi utilizzare (list_elector_holo_light ad esempio).

Una soluzione portatile e corretta sarebbe di ereditare da Listviewstyle e sovrascrivere l'attributo, rendendolo nei tuoi stili.xml.

Se avessi la Biblioteca ufficiale di Holoverywhere implementata da remoto su un server (ad esempio Maven repo) non è stato possibile dipendere dal mantenimento di un cambio di cambiamento negli stili.xml (lo stai modificando per le proprie esigenze).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top