這里主要是在theme中實現spinner的樣式,如下
<style name="Theme.Funui" parent="Theme.Holo.Light">
<item name="spinnerStyle">?android:attr/dropDownSpinnerStyle</item> <item name="dropDownSpinnerStyle">@android:style/Widget.Funui.Spinner.DropDown</item>
<item name="dropDownItemStyle">@android:style/Widget.Funui.DropDownItem</item> <item name="spinnerDropDownItemStyle">@android:style/Widget.Funui.DropDownItem.Spinner</item> <item name="spinnerItemStyle">@android:style/Widget.Funui.TextView.SpinnerItem</item> </style> <!--更改item字體的大小跟顏色-->
<style name="Widget.Funui.DropDownItem.Spinner"> <item name="android:textColor">#323232</item> <item name="android:textSize">15sp</item>
</style> <!--更改hint字體的大小跟顏色以及邊距等-->
<style name="Widget.Funui.TextView.SpinnerItem" parent="Widget.Holo.TextView.SpinnerItem"> <item name="android:textColor">#323232</item> <item name="android:textSize">15sp</item> <item name="android:paddingStart">3dp</item> <item name="android:paddingEnd">3dp</item> </style> <style name="Widget.Funui.Spinner" parent="Widget.Holo.Spinner"> <item name="android:background">@android:drawable/spinner_background_funui</item> <item name="android:dropDownSelector">@android:drawable/list_selector_funui</item>
<!--確定Spinner的彈出方式,下拉跟dialog兩種-->
<item name="android:spinnerMode">dialog</item> <!--修改spinner的背景邊框樣式-->
<item name="android:popupBackground">@android:drawable/menu_dropdown_panel_funui</item> <item name="android:dropDownVerticalOffset">0dip</item> <item name="android:dropDownHorizontalOffset">0dip</item> <item name="android:dropDownWidth">wrap_content</item> <item name="android:popupPromptView">@android:layout/simple_dropdown_hint</item> </style>
至於其中怎么layout布局,還沒有找到方法。通過看代碼可以知道,如果你采用的是dialog形式,那么這個布局其實就是dialog中實現的,因為它里面調用的就是dialog