这里主要是在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