Zunächst einmal, ich referenzierte this link, ob ich meine eigene Frage beantworten sollte oder nicht. Ich fand, dass dies für jemanden, der mit einem ähnlichen Problem konfrontiert ist, sehr nützlich sein kann, also entschuldige ich mich, wenn dies keine angemessene Etikette für diese Website ist (um Ihre eigene Frage zu beantworten).
Jetzt bin ich herumgestolpert, um eine Lösung für dieses Problem zu finden, und mit Versuch und Irrtum war ich erfolgreich. Also, wenn Sie in Ihrem Projekt ActionBarSherlock SDK heruntergeladen und eingerichtet haben, erstellen Sie Ihr Layout, das den Spinner einbaut:
<com.actionbarsherlock.internal.widget.IcsSpinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_margin="10sp"
android:layout_centerHorizontal="true"
android:textSize="18sp" />
Der obige Code wird die ICS-Version des Spinners benutzen, die in der ActionBarSherlock Bibliothek ist. Als Nächstes deklarieren und instanziieren Sie (in Casting) das Spinner-Objekt. Aber beachten Sie, dass Sie nicht über die normale Spinner-Klasse verwenden, können Sie die IcsSpinner Klasse in der ActionBarSherlock Bibliothek gefunden verwenden:
IcsSpinner spinner = (IcsSpinner)findViewById(R.id.spinner);
Jetzt erstellen Sie einen Adapter so wie man es für den normalen Spinner, etwa so:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item, elements);
spinner.setAdapter(adapter);
Schließlich müssen Sie die onItemSelectedListener
einrichten. Der einzige große Unterschied ist, dass Sie verwenden IcsAdapterView.OnItemSelectedListener
anstatt nur OnItemSelectedListener
:
spinner.setOnItemSelectedListener(new IcsAdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(IcsAdapterView<?> parent, View view, int position, long id){
}
@Override
public void onNothingSelected(IcsAdapterView<?> parent){
}
});
Und das ist es. Es ist wirklich nicht viel anders als nur das Spinner-Objekt zu verwenden. So einfach es ist, es hat mich eine Weile gedauert, um herauszufinden, also hoffe ich, dass dies für jemanden nützlich ist.
Ach ja, und nicht vergessen ein ActionBarSherlock Thema zu verwenden, wie so (im Manifest):
android:theme="@style/Theme.Sherlock"
+1 für eine gute Antwort. – Ahmad
Jede Möglichkeit, ICS wie Spinner mit Android-Support-Bibliothek zu verwenden? Ich verwende kein ActionBarSherlock. –
@sureshcheemalamudi [holo Farbgenerator] (http://android-holo-colors.com/) wird tun, der einzige Unterschied ist Hintergrund, ics Spinner ist ohne Unterstreichung – oscarthecat