2013-09-05 2 views
9

내가이안드로이드 회 분할 컬러

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

같은 스타일 스피너를 가지고 있지만 스타일 SpinnerDropDown이 적용되지 않습니다, 디바이더는 회색 또는 무엇이든 기본입니다. 스피너에서 칸막이를 어떻게 스타일링합니까?

답변

51

Spinner 위젯의 style 속성에서이 스타일을 직접 사용하고 있습니까? 그렇다면 그것이 작동하지 않는 이유입니다. 응용 프로그램의 theme을 사용하여 구분선의 스타일을 지정해야합니다. 응용 프로그램 테마에

당신이 itemandroid:dropDownListViewStyle이 있어야합니다 :

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

그리고, 분할 (mySpinnerStyle)의 스타일에 정의되어

는 다음을 수행, 디바이더 스타일을

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

지금 당신은 당신의 Spinner :

에 녹색 분할을
+5

Spinner가 기본 모드 인 드롭 다운으로 설정된 경우 여기에 적용된 스타일이 작동합니다. Spinner 모드가 대화 상자로 설정된 경우 스타일이 적용되지 않습니다. –

+0

스타일이 스피너의 스타일 속성에서 직접 사용될 때 적용되지 않는 이유는 무엇입니까? 어떤 생각? – DevAndroid

+2

액티비티에 다른 구분선 색상이 필요한 두 개의 스피너가 있으면 어떻게됩니까? 이 경우 당신이 제안한 방법은 작동하지 않습니다 – DevAndroid

관련 문제