xml中布局
<android.support.v7.widget.AppCompatSpinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="35dp" android:layout_gravity="center">
默认下拉三角为白色
想要更改颜色可以自定义一个style
<!--设置spinner下拉箭头颜色--> <style name="SpnStyle"> <item name="android:colorControlNormal">#000000</item> </style>
在布局文件中添加这个样式,需要使用 theme 引入
<android.support.v7.widget.AppCompatSpinner android:id="@+id/spinner" android:layout_width="wrap_content" android:theme="@style/SpnStyle" android:layout_height="35dp" android:layout_gravity="center">
在使用多个spinner时候我在BaseActivity中抽取了个方法
public void setSpinnerAdapter(AppCompatSpinner spinner, String[] items) { // android.R.layout.simple_spinner_item/R.layout.myspinner ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.myspinner, items); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); adapter.notifyDataSetChanged(); }
R.layout.myspinner 为自定义控件,里面只有一个Textview 用来展示选择的项目的样式 ,布局文件代码为
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:gravity="start" android:paddingStart="8dip" android:textColor="#333333" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" />