2013-09-05 16 views
9

Mam tarczy stylizowany jak toAndroid spinner kolor dzielnik

<style name="OptionsSpinner" parent="android:Widget.Spinner"> 
    <item name="android:background">@drawable/spinner_background</item> 
    <item name="android:spinnerMode">dropdown</item> 
    <item name="android:dropDownListViewStyle">@style/SpinnerDropdown</item> 
</style> 

<style name="SpinnerDropdown"> 
    <item name="android:divider">#ff0000</item> 
</style> 

ale SpinnerDropDown styl nie ma żadnego wpływu, dzielnik jest szara lub cokolwiek domyślnie. Jak wyposażyć przegrody w spinner?

Odpowiedz

51

Używasz tego stylu bezpośrednio w obiekcie style swojego widgetu Spinner? Jeśli tak, to dlatego nie działa. Powinieneś zaprojektować dzielnik za pomocą aplikacji theme.

Aby styl rozdzielacz, wykonaj następujące czynności:

W motywu aplikacji należy mieć itemandroid:dropDownListViewStyle:

<style name="applicationTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item> 
</style> 

A, styl dzielnika (mySpinnerStyle) jest zdefiniowana w:

<style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown"> 
    <item name="android:divider">#00ff00</item> 
    <item name="android:dividerHeight">1dp</item> 
</style> 

teraz masz zielonego dzielnik na Spinner :)

+5

Stosowana tutaj stylizacja działa, gdy Spinner jest ustawiony na tryb domyślny, który jest rozwijany, jeśli tryb Spinner jest ustawiony na dialog, to stylizacja nie ma żadnego efektu! –

+0

Dlaczego styl nie zostanie zastosowany, gdy zostanie użyty bezpośrednio we właściwości stylu narzędzia? Dowolny pomysł? – DevAndroid

+2

Co się stanie, jeśli w mojej działalności będę mieć dwie przędzarki, które wymagają różnych kolorów rozdzielaczy? W tym przypadku metoda, którą zasugerowałeś, nie zadziała – DevAndroid