Цвет текста Android Spinner - PullRequest
       20

Цвет текста Android Spinner

3 голосов
/ 21 марта 2012

У меня есть Spinner и для его заполнения я использую SimpleCursorAdapter. Я хочу, чтобы цвет шрифта для Spinner был черным, а цвет шрифта для выпадающего меню - белым. У меня есть этот код:

String[] column = { "name" };
int[] viewIds = new int[] { R.id.spinner_dropdown_design_from };

SimpleCursorAdapter fromListAdapter = new SimpleCursorAdapter(MyClass.this, R.layout.spinner_drop_down_from, cursor,
        column, viewIds) {

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    View viewFromListAdapter = super.getDropDownView(position, convertView, parent);
    if (position % 2 == 0) {
        viewFromListAdapter.setBackgroundResource(R.layout.dropdown_selector_odd);
    } else {
        viewFromListAdapter.setBackgroundResource(R.layout.dropdown_selector_even);
    }
    return viewFromListAdapter;
}

};

Так что я использую разную раскладку для нечетных и четных строк в выпадающем списке Я приведу пример для dropdown_selector_even

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/grey_background"/>
    <item android:state_focused="true" android:drawable="@drawable/blue_background"/>
    <item android:state_pressed="true" android:drawable="@drawable/blue_background"/>
    <item android:drawable="@drawable/grey_background"/>
</selector>

И spinner_drop_down_from

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinner_dropdown_design_from"
    android:layout_height="100dip"
    android:layout_width="fill_parent"
    android:paddingLeft="20dip"
    android:textSize="40dip"
    android:gravity="center_vertical"
    android:textStyle="normal|bold" 
    android:textColor="#000000"/>

Может ли кто-нибудь мне помочь? Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

Я нашел решение.Я также должен переписать метод getView Что-то вроде этого

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text = (TextView) view.findViewById(R.id.spinner_dropdown_design_products);
text.setTextColor(Color.WHITE);
return view;
}
2 голосов
/ 05 мая 2014

Пожалуйста, перейдите по следующей ссылке.Это сработало для меня, и не нужно использовать нестандартные адаптеры.Просто XML.http://www.broculos.net/2013/09/how-to-change-spinner-text-size-color.html#.U2eJI_l5OSo

...