Po pierwsze, odwołałem się do this link, czy mam odpowiedzieć na własne pytanie. Czułem, że może to być bardzo przydatne dla kogoś, kto boryka się z podobnym problemem, więc przepraszam, jeśli nie jest to właściwa etykieta na tej stronie (aby odpowiedzieć na własne pytanie).
Teraz natknąłem się na próbę znalezienia rozwiązania tego problemu, a dzięki próbom i błędom udało mi się. Tak więc, kiedy już ActionBarSherlock SDK pobrać i skonfigurować w swoim projekcie stworzyć układ, który będzie włączenie tarczy:
<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" />
Powyższy kod będzie używać wersji ICS z wirówki, która jest w bibliotece ActionBarSherlock. Następnie w swojej działalności zadeklaruj i stwórz instancję spinnera (używając rzutowania). Należy jednak pamiętać, że nie wolno używać normalnego klasę Spinner, należy użyć klasy IcsSpinner znaleźć w bibliotece ActionBarSherlock:
IcsSpinner spinner = (IcsSpinner)findViewById(R.id.spinner);
Teraz należy utworzyć adapter tak samo jak dla normalnego Spinner, tak:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item, elements);
spinner.setAdapter(adapter);
Na koniec trzeba ustawić onItemSelectedListener
. Jedyną główną różnicą jest to, że używasz IcsAdapterView.OnItemSelectedListener
zamiast po prostu OnItemSelectedListener
:
spinner.setOnItemSelectedListener(new IcsAdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(IcsAdapterView<?> parent, View view, int position, long id){
}
@Override
public void onNothingSelected(IcsAdapterView<?> parent){
}
});
I to wszystko. To naprawdę niewiele różni się od zwykłego używania obiektu typu spinner. Tak proste jak to było, zajęło mi trochę czasu, aby dowiedzieć się, więc mam nadzieję, że jest to przydatne dla kogoś.
O tak, i nie zapomnij użyć motywu ActionBarSherlock, tak jak (w manifeście):
android:theme="@style/Theme.Sherlock"
+1 za dobrą odpowiedź. – Ahmad
Jakikolwiek sposób używać ICS jak spinner z biblioteką wsparcia Android? Nie używam ActionBarSherlock. –
@sureshcheemalamudi [generator kolorów holo] (http://android-holo-colors.com/) zrobi, jedyną różnicą jest tło, ics spinner jest bez podkreślenia – oscarthecat