activity:
@BindView(R.id.sp_team) Spinner spTeam;
在适当的位置调动下面的方法即可。
/** * Spinner自定义样式 * 1、Spinner内的TextView样式:item_select * 2、Spinner下拉中每个item的TextView样式:item_drop * 3、Spinner下拉框样式,属性设置 * */ public void CustomSpinner(){ // spTeam.setDropDownWidth(400); //下拉宽度 // spTeam.setDropDownHorizontalOffset(100); //下拉的横向偏移 spTeam.setDropDownVerticalOffset(100); //下拉的纵向偏移 final String[] spinnerItems = {"大力","奇迹","ok"}; //自定义选择填充后的字体样式 ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, R.layout.item_select, spinnerItems); //自定义下拉的字体样式 spinnerAdapter.setDropDownViewResource(R.layout.item_drop); spTeam.setAdapter(spinnerAdapter); //点击事件 spTeam.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(TeamActivity.this,spinnerItems[position],Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); }
布局文件:activity得很简单
<Spinner android:id="@+id/sp_team" android:layout_width="match_parent" android:layout_height="40dp"/>
其他两个自定义的布局:
R.layout.item_select: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textColor="@color/title" android:textSize="16dp"/>
自定义字体: R.layout.item_text <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:gravity="center" android:textColor="@color/title" android:textSize="16dp"/>