如何更改微调器选项的背景颜色?我不想改变整个背景颜色,所以我无法在布局中定义它。
答案 0 :(得分:0)
String[] strings = {"Somelist", "SOmelist"};
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
spinner.setAdapter(new MyAdapter(this, R.layout.row, strings));
....
public class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
public View getCustomView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View row = inflater.inflate(R.layout.row, parent, false);
TextView label = (TextView) row.findViewById(R.id.company);
label.setText(strings[position]);
TextView sub = (TextView) row.findViewById(R.id.sub);
sub.setText(subs[position]);
///You can have different combinations on which items in the list you want to change background, text or anything else
if (position % 2 == 0) {
label.setTextColor(Color.BLUE);
row.setBackgroundColor(Color.RED);
}
return row;
}
}
布局:
<TextView
android:id="@+id/company"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginTop="2dip"
android:padding="3dip"
android:text="CoderzHeaven"
android:textStyle="bold" />
<TextView
android:id="@+id/sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/company"
android:layout_marginLeft="5dip"
android:padding="2dip"
android:text="Heaven of all working codes" />