spinner添加分割线和改变右侧箭头
默认的spinner是没有分割线的,时间仓促就直接进入主题了。
1.首先说添加分割线
第一步:在style.xml中定义一个style ,应该不用解释每个的意思吧,看单词也能理解。
<style name="XSpinnerStyle" parent="android:Widget.ListView.DropDown">
<!-- 分隔线颜色 -->
<item name="android:divider">#DFDFDF</item>
<item name="android:dividerHeight">1dp</item>
</style>
第二步:在AppTheme中吧自定义的style添加进来,注意是android:dropDownListViewStyle
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:dropDownListViewStyle">@style/XSpinnerStyle</item>
</style>
只需要两部就可以为spinner添加分割线,是不是很简单呢?
2.改变箭头
1.自定义style
<style name="spinner_style" parent="Base.Widget.AppCompat.Spinner">
<item name="android:background">@drawable/spinner_raow_selector</item>
</style>
2.创建spinner_raow_selector,代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="true">
<layer-list>
<item>
<shape>
<padding android:right="10dp"/>
</shape>
</item>
<item>
<bitmap android:gravity="center_vertical|right" android:src="@drawable/ic_pack_up" />
</item>
</layer-list>
</item>
<item>
<layer-list>
<item>
<shape>
<padding android:right="10dp"/>
</shape>
</item>
<item>
<bitmap android:gravity="center_vertical|right" android:src="@drawable/ic_pack_down" />
</item>
</layer-list>
</item>
</selector>
3.在spinner中引用
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/AppCompatSpinner"
style="@style/spinner_style"//这里
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dropDownVerticalOffset="40dp"
android:spinnerMode="dropdown"
android:textColorHint="#000000"
android:textSize="12sp" />
oK啦,两张图样式如下