12

Ich baue eine Anwendung, die auf Android 2.3 funktionieren sollte und ich fügte sowohl ActionBarSherlock und HoloEverywhere Bibliotheken hinzu.Wie wende ich das Holo Everywhere android-Design an, wenn ActionBarSherlock verwendet wird?

Um ActionBarSherlock zu verwenden ich habe wie so verwenden Theme.Sherlock:

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

Und das ist in Ordnung.

Meine Haupttätigkeit ist ziemlich einfach: nur ein ListView mit 5 Zeilen (ich verwende nicht ListActivity).

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

Da es Android 2.3, ich habe immer noch das orangefarbene & schwarze Thema (mit Ausnahme des ActionBar natürlich). Jetzt möchte ich durch Modifizieren mein Manifest wie so das HoloEverywhere Thema hinzuzufügen:

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

aber das macht nichts ändern ... Was bin ich?

+2

Ich brauche den Spinner wie ICS in früheren Versionen. Aber ich habe versucht, ActionBarSherlock und Holoeverywhere zu importieren. Aber in der Eclipse nach dem Import viele Fehler zu werfen. Und bitte, bitte, können wir Holoeverywhere einfach ohne ActionBarSherlock benutzen? – Vins

+0

welche fehler? und ja, Sie können Holoeverywhere ohne actionbarsherlock verwenden – Alexis

+0

Wie Ressource nicht gefunden Fehler. Schritt ich habe importiert, ist-> Datei-> Neues Projekt-> Android-Projekt aus vorhandenen Code. – Vins

Antwort

7

Um das Holo Thema standardmäßig für jede Listview zu ermöglichen ich in der styles.xml Datei der HoloEverywhere Bibliothek ging ich dann durch das Hinzufügen dieser Zeile des „ListViewStyle“ Element geändert:

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

Ja. Guter Punkt. –

3

Ich hatte das gleiche Problem mit ListView Selektor. Ich dachte, dass HoloEveruwhere standardmäßig holo selector (blau) anwenden würde (ich habe sowohl Theme.HoloEverywhereLight als auch Theme.HoloEverywhereLight ausprobiert), aber das tat es nicht. Vielleicht vermisse ich etwas.

I beendete die Wähler manuell einrichten:

listView.setSelector(R.drawable.list_selector_holo_light); 

Sie haben mehrere ziehbar Ressourcen in der Bibliothek, die Sie Verwendung von (list_selector_holo_light zum Beispiel) machen.

+0

das funktioniert eigentlich, aber dann muss ich es für jeden ListView tun. – Alexis

2

Tragbares und korrekt Lösung wäre es, von ListViewStyle zu erben und überschreiben das Attribut, so dass dies in Ihrer styles.xml.

Wenn Sie hatte HoloEverywhere offizielle Bibliothek bereitgestellt remote auf einem Server (z Maven Repo) konnte man nicht davon abhängen eine Änderung der styles.xml mantaining (Sie können es für Ihre eigenen Bedürfnisse zu verändern).