我希望以Spinner
下拉列表关闭时显示的所选项目显示不同颜色的Spinner
的下拉列表项目,如何编辑我的微调器适配器以解决此问题?
public class MySpinner extends ArrayAdapter<String> {
private String[] options;
private String mCustomText = "";
public MySpinner(Context context, String options[]) {
super(context, R.layout.spinner_item, options);
this.options = options;
}
public MySpinner(Context context, String options[], int resID) {
super(context, resID);
this.options = options;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
int specialItemIndex = options.length - 1;
return view;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
return super.getDropDownView(position, convertView, parent);
}
}
换句话说,我只需要用红色圈出的项目的文字颜色和大小与用蓝色圈出的下拉列表中的项目不同...实际使用R.layout.spinner_item
两者都使用相同的文字大小和颜色在这个布局
答案 0 :(得分:0)
您可以将Spinner
标题文字颜色设置为蓝色(例如),而Spinner
项目具有默认颜色。只需在onItemSelected()
回调中应用它即可。像这样:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long itemId) {
((TextView)view).setTextColor(Color.BLUE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) { }
});
请确保您的Spinner
项View
为TextView
,以便更改文字颜色。