Я собираюсь использовать Spinner
пример проекта из Android SDK для следующих примеров кода.
Код :
Сначала вам нужносоздайте свой пользовательский адаптер, который будет перехватывать создание представлений в выпадающем списке:
static class CustomArrayAdapter<T> extends ArrayAdapter<T>
{
public CustomArrayAdapter(Context ctx, T [] objects)
{
super(ctx, android.R.layout.simple_spinner_item, objects);
}
//other constructors
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent)
{
View view = super.getView(position, convertView, parent);
//we know that simple_spinner_item has android.R.id.text1 TextView:
/* if(isDroidX) {*/
TextView text = (TextView)view.findViewById(android.R.id.text1);
text.setTextColor(Color.RED);//choose your color :)
/*}*/
return view;
}
}
Затем вы создаете адаптер в своем коде так:
String [] spin_arry = getResources().getStringArray(R.array.Planets);
this.mAdapter = new CustomArrayAdapter<CharSequence>(this, spin_arry);
Объяснение:
Поскольку CustomArrayAdapter
знает, что мы используем встроенный ресурс макета Android, он также знает, что текст будет помещен в TextView
с идентификатором android.R.id.text1
.Вот почему он может перехватывать создание представлений в раскрывающемся списке и изменять цвет текста на любой необходимый.
Снимок экрана: